要在Django中处理一对多关系,你需要使用
ForeignKey。
关于ForeignKey的文档非常全面,应该回答你遇到的所有问题:
https://docs.djangoproject.com/en/dev/ref/models/fields/#foreignkey
你示例中的当前结构允许每个Dude拥有一个号码,并且每个号码都属于多个Dudes(与Business相同)。
如果需要反向关系,则需要在PhoneNumber模型中添加两个ForeignKey字段,其中一个添加到Dude,另一个添加到Business。这样一来,每个号码都可以属于一个Dude或一个公司,并且Dudes和Businesses可以拥有多个号码。我认为这可能是你追求的目标。
class Business(models.Model): ...class Dude(models.Model): ...class PhoneNumber(models.Model): dude = models.ForeignKey(Dude) business = models.ForeignKey(Business)



