我试图创建3个模型;Person
、Address
和Anniversy
。计划是每人有一个地址和一个周年纪念日。但每个地址和周年纪念日可以有多个人。
到目前为止,我有以下几点,但我认为OneToMany(foreign key)
关系可能是错误的。i、 每个地址可以有一个人,但每个人可以有多个地址。
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=50)
birthday = models.DateField()
def __unicode__(self):
return u'%s' % (self.name)
class Address(models.Model):
person = models.ForeignKey(Person)
address = models.CharField(max_length=150)
def __unicode__(self):
return u'%s' % (self.address)
class Anniversy(models.Model):
person = models.ForeignKey(Person)
anniversy = models.DateField()
def __unicode__(self):
return u'%s' % (self.anniversy)
您可以通过另一种方式创建关系;将外键添加到
Person
类型以创建多对一关系:任何一个人只能连接到一个地址和一个周年纪念,但是地址和周年纪念可以从多个
Person
条目中引用。Anniversary
和Address
对象也将被赋予反向关系;默认情况下,它将被称为person_set
,但如果需要,可以配置其他名称。请参见查询文档中的以下relationships "backward"。相关问题 更多 >
编程相关推荐