我用django写博客。我有模型表文章,我想要'喜欢'我应该创建新表吗?(像这样)
class LikeArticleUser(models.Model):
class Meta:
db_table = "likearticleuser"
user = models.ManyToManyField(User)
article_id = models.ManyToManyField(Article)
或者
class LikeArticleUser(models.Model):
class Meta:
db_table = "likearticleuser"
user = models.ForeignKey(User)
article_id = models.ForeignKey(Article)
答案 0 :(得分:1)
您有两种选择:
在Article
模型中使用M2M字段:
class Article(models.Model):
...
liked_by = models.ManyToManyField(User)
或者自己创建中间表(这是我们问题中的第二个片段):
class LikeArticleUser(models.Model):
article = models.ForeignKey(Article)
user = models.ForeignKey(User)
两个选项的SQL表示都是相同的,因此您选择的选项只是一种品味。