【问题标题】:Django symmetrical ManyToMany field on 2 columns2列上的Django对称ManyToMany字段
【发布时间】:2012-12-21 01:44:42
【问题描述】:

在我的模型中,我如何明确声明我希望与另一列的多对多关系是对称的,以便在从每个对象调用 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 会对称地建立关系?

【问题讨论】:

    标签: django django-models


    【解决方案1】:

    你不需要做任何事情。

    因为ManyToMany 是由Person 托管的,所以它将是:

    pers1.employer.all()
    

    org1.person_set.all()
    

    【讨论】:

    • 谢谢!这就是我所需要的
    猜你喜欢
    • 2017-01-15
    • 2013-08-04
    • 2014-05-27
    • 1970-01-01
    • 2013-05-19
    • 2012-06-22
    • 2011-04-26
    • 2020-12-08
    相关资源
    最近更新 更多