【发布时间】:2021-12-20 12:19:30
【问题描述】:
我不确定我应该如何正确地表达我的关系。假设我有 2 张桌子 User 和 Post。对于这个例子,我将混合和匹配这两个表之间的关系。
关系
- 第一种情况
一个用户有
zero-to-many的帖子,一个帖子属于one用户。- 我查看了
Django文档中的Many-to-One关系,并决定我可以通过执行以下操作来建模...
class User(models.Model): pass class Post(models.Model): user = models.ForeignKey(User)- 我认为
User可以有很多帖子(零个或多个)。 -
Post属于one(并且仅属于one)用户。
- 我查看了
- 第二个案例
User拥有one-to-many帖子,Post属于one用户- 这与第一种情况几乎相同,但这里的区别在于
User具有one-to-many帖子与zero-to-many。我不确定如何建模。我如何告诉我的模特User至少拥有1 个或多个帖子但不为零。
- 这与第一种情况几乎相同,但这里的区别在于
如果我需要进一步澄清,我可能会在这个问题中添加更多其他关系,但现在我真的很想知道这是如何工作的。我唯一能想到的就是有一个null=True,blank=True,这样我就可以什么都没有zero-to-many,或者保留默认值,这样我就有one-to-many
【问题讨论】: