leo*_*ojg 3 django database-design one-to-many
我想在django中建立一对多的关系.
在我的模型中,我有一个类Person和一个类Group,我想要的关系是一个组内部可以有N个人,并且一个组内部至少有一个人不能存在
在MER图中它就像(想象这些是实体和关系)
|组| 1 ==== <> ----- N |人|
nil*_*ilu 17
正如亚瑟所述,这在Django文档中得到了很好的记录.
事实上很容易:
from django.db import models
class Person(models.Model):
# Some other fields
group = models.ForeignKey(Group, related_name='people')
class Group(models.Model):
# Some fields
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,您只需在person类中创建一个外键 - >这相当于您在数据库中手动设置它的方式,如果您应该这样做的话.
Django将自动添加反向关系,以便您可以从组中找到人:
some_group.people
Run Code Online (Sandbox Code Playgroud)
请注意,related_name指定反向关系的名称.这是可选的,但我想你想用people而不是persons.
| 归档时间: |
|
| 查看次数: |
13034 次 |
| 最近记录: |