在我的模型中,我如何明确地声明我希望与另一列的ManyToMany关系是对称的,这样当从每个对象调用object_set时,它可以通过相同的数据库表来查找关系?
一个例子
class Person(models.Model):
name = models.CharField(max_length=100)
employer = models.ManyToManyField(Organization)
class Organization(models.Model):
name = models.CharField(max_length=100)
我是否需要在Organization类中创建第二个ManyToManyField,以便执行类似
的操作org1.person_set.all()
让所有受雇于该组织的人员
pers1.organization_set.all()
获得一个人可能为之工作的所有组织?或者单个ManyToManyField会对称地建立关系吗?
答案 0 :(得分:2)
您无需做任何事情。
由于ManyToMany
托管了Person
,因此它将是:
pers1.employer.all()
和
org1.person_set.all()