[Django] ManyToMany
2261 ワード
Django ManyToManyField
n:n(複数対複数)関係のデータテーブルの場合は、Junctionテーブルを作成する必要があります.
Django modlesは
2–1)ManyToManyFiledのみを使用します.
2)ManyToManyFieldに関連する名前を指定する場合があります.
ManyToMany
ManyToMany Fieldを使用してJunction Tableを作成する場合、テーブルが他の機能ではなく、参照機能としてのみ使用される場合は、自分で作成するだけです.
a1 = Actor.objects.get(id = 1)
a1.save()
m1 = Movie.objects.get(id = 1)
m1.save()
a1.movie.add(m1, m2, m3)
ManyToMany + through =
私が別途宣言したclassを使用して接続テーブルを作成する場合は、throughを使用して接続できます.(接続テーブルはカスタムコンセプトとして使用できます)
整数値のみで構成されたテーブルではなく、接続テーブルを他のロールとして使用します.
ManyToMany + related_name
ManyToManyField(“Movie”,related name=“actors”).
逆参照関係でもmovieactor_set.all() > movie.actors.全部使えます.
Reference
この問題について([Django] ManyToMany), 我々は、より多くの情報をここで見つけました https://velog.io/@kimlilo/Django-ManyToManyテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol