【发布时间】:2019-12-12 14:02:14
【问题描述】:
我在 django 中有 4 个模型,这里有 3 个(第 4 个是默认用户模型):
class Post(models.Model):
title = CharField(max_length=200)
content = TextField()
def __str__(self):
return self.title
class NewsArticle(Post):
link = URLField(default='')
external_id = CharField(unique=True,
max_length=50, help_text='The ID of the news article from the source')
source = CharField(max_length=15, help_text='Name of source website')
class Like(models.Model):
LIKE_CHOICES = [('L', 'Like'), ('D', 'Dislike')]
user = ForeignKey(User, on_delete=models.CASCADE)
post = ForeignKey(Post, on_delete=models.CASCADE, related_name='post')
state = CharField(default='L', max_length=1, choices=LIKE_CHOICES)
created_at = DateTimeField(auto_now_add=True)
updated_at = DateTimeField(auto_now=True)
def __str__(self):
return self.get_state_display()
据我了解,这样新闻文章根本不会与点赞相关联。我的目标是获取所有新闻文章和select_related() 的点赞。我也不想为喜欢的新闻文章创建一个新模型。我可以在这里做什么?
【问题讨论】:
-
您是想将您的 Post 类用作其他类的“基础”模型还是一个真正有意义的类?
-
我用它作为基础
-
好的,给我 5 分钟,我正在写答案
-
太好了 - 谢谢 :)
标签: python django django-models