3

私はdjangoで1対多の関係を作ろうとしています。

私のモデルでは、クラスPersonとクラスGroupがあり、1つのグループにN人を含めることができ、少なくとも1人の人が中にいるグループは存在できないという関係を作成します。

MERダイアグラムでは、次のようになります(これらがエンティティと関係であると想像してください)

|グループ|1==== <> -----N|人|

4

1 に答える 1

17

アーサーが述べているように、これはDjangoのドキュメントに非常によく記載されています。

実際、それは非常に簡単です。

from django.db import models

class Person(models.Model):
    # Some other fields
    group = models.ForeignKey(Group, related_name='people')

class Group(models.Model):
    # Some fields

ご覧のとおり、personクラスで外部キーを作成するだけです->これは、データベースで手動で設定する方法とまったく同じです。

Djangoは、グループから人々を見つけることができるように、逆の関係を自動的に追加します。

some_group.people

related_nameは逆の関係の名前を指定することに注意してください。peopleこれはオプションですが、の代わりに使用したいと思いますpersons

于 2012-12-21T23:19:43.337 に答える