2017-01-06 3 views
-1

たとえば、1つのチームにN人のメンバーがいますが、1人のメンバーがN個のチームに属している可能性があります。どのように私はこの双方向の関係をジャンゴで表現できますか?または一般的なデータベースで?両方向でDBの一対多関係を設定するにはどうすればよいですか?

多分私は間違っていると思っていますが、フロントエンドでは、例えばすべてのチームや選手のチームを見せたいと思います...私はこれを必要としませんか?ありがとう

+1

これは多対多関係と呼ばれています:) – codePG

+1

これは多対多関係と呼ばれ、djangoではhttps://docs.djangoproject.com/en/1.10/topics/db/examples/many_to_manyでモデル化されています/ – e4c5

+0

ありがとう、それにダイビングしよう:) –

答えて

1

これは多対多(M:N)関係であり、通常はリンクテーブルを使用してモデル化されます。ここに例があります:

teams 
-------- 
team_id 
team_name 

persons 
-------- 
person_id 
person_name 

team_members 
--------- 
person_id 
team_id 

team_membersテーブルは、チームと人の関係を維持します。ある人は、person_idteam_idの対応するレコードがteam_membersテーブルに存在する場合、チームのメンバーです。チームは必要な数のメンバーを保持することができ(M)、各メンバーは複数のチーム(N)のメンバーになることができます。ここにM:Nの関係の名前が来る。

+0

これはすべて当てはまりますが、OPのために不必要に混乱しています.MustToManyFieldを必要とする人は、それらのためのリンクテーブルを作成します。 –

+0

まあ、それは一般的なデータベースでどのように行われているのかという疑問もあります。ジャンゴの部分はすでに答えられています。 –

+0

ありがとう、私はこの答えを正しいものとして設定したいと思います。 –

関連する問題