2010-11-23 9 views
0

私はDashboardというモデルクラスを持っていて、属性は 'team_members'です。ように:DjangoモデルのデザインMany2Manyのヘルプ

class Dashboard(models.Model): 
    ... 
    team_members = models.ManyToManyField(User) 

これは適切なデザインですか?ダッシュボードには多くのteam_members(ユーザー)がおり、ユーザーは多くのダッシュボードのチームメンバーになることができます。

または、ダッシュボードとチームメンバーをリンクする第2クラスを作成する必要がありますか?次のようなもの:

class TeamMember: 
    members = m2m(Users) 
    dashboards = m2m(Dashboard) 

ありがとう! :-)

エリック

答えて

2

最初のデザインは、あなたの言うことを暗示しています。第二に、Userは多くの場合TemMemberであり、その逆の場合もありますので、適切ではありません。 に1対1を使用できますが、チームメンバーに関する詳細情報を追加する必要がない場合は必要ありません。

+0

だから、チームメンバーについての追加情報を得たいと思ったら、2位は良いだろうか?チームメンバーになった、またはチームメンバーとして追加した日付を考えてみましょう。 –

+0

'User'で1対1に変換した場合は、そうです。 –

+0

パーフェクト。ありがとうございました。 :) –