Rez*_*eri 2 python database django django-models
我想到的问题之一是,在 中的多对一关系中Django, 应该foreign key位于哪里?我的意思是,它应该在很多部分还是在第一部分?
例如,我们有两个类,postand comment:在这种情况下, 应该ForeignKey位于commentorpost类中的什么位置?
post model:
class post(models.model):
created_at = models.DateTimeField(auto_now_add=True)
user = models.ForeignKey(User, on_delete=models.CASCADE)
category = models.ManyToManyField("PostCategory", blank=True)
caption = models.CharField(max_length=2000)
Run Code Online (Sandbox Code Playgroud)
comment model:
class Comment(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL,
verbose_name=_('user'), on_delete=models.CASCADE)
text = models.TextField()
Run Code Online (Sandbox Code Playgroud)
现在这里是应该定义的comment字段?foreign key
外键必须用在多对一关系的“多”端。
在你的问题中,你有Post和Comment模型。由于每个帖子可以有很多评论,因此您应该在模型中添加一个外键Comment。
class Comment(models.Model):
post = models.ForeignKey(Post, on_delete=models.CASCADE)
Run Code Online (Sandbox Code Playgroud)