1

私のモデルでは、別の列との多対多の関係を対称にして、各オブジェクトから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クラスに2番目のManyToManyFieldを作成する必要がありますか?

org1.person_set.all()

組織に雇用されているすべての人を取得し、

pers1.organization_set.all()

人が働く可能性のあるすべての組織を取得するには?または、単一のManyToManyFieldが対称的に関係を作成しますか?

4

1 に答える 1

2

何もする必要はありません。

ManyToManyでホストされているため、次のPersonようになります。

pers1.employer.all()

org1.person_set.all()
于 2012-12-21T01:52:04.157 に答える