我不明白为什么我们必须使用ManyToManyField来声明多对多关联。为此,我将创建另一个带有两个外键的表格,即句号! 下面是一个例子从DOC https://docs.djangoproject.com/en/dev/topics/db/models/#intermediary-manytomany:多对多协会
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=128)
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(Person, through='Membership')
class Membership(models.Model):
person = models.ForeignKey(Person)
group = models.ForeignKey(Group)
extraField = models.DateField()
我只想写:
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=128)
class Group(models.Model):
name = models.CharField(max_length=128)
class Membership(models.Model):
person = models.ForeignKey(Person)
group = models.ForeignKey(Group)
extraField = models.DateField()
它是正确的吗?有什么不同?
我让别人回答这个谁更有资格。很好的问题。 – jdero
正确的方法是使用'ManyToManyField'来完成它,因为在你的情况下制作称为'Membership'的额外模型非常繁琐。 –