2010-11-23 6 views
0

J'ai une classe de modèle appelée Dashboard et il a un attribut 'team_members'. Comme si:Aide de conception de modèle Django avec Many2Many

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

Je me demande si c'est la bonne conception? J'essaie de dire: Un tableau de bord a beaucoup de membres d'équipe (utilisateur) et un utilisateur peut être un membre de l'équipe de nombreux tableaux de bord.

Ou, devrais-je créer une 2e classe reliant les tableaux de bord et les membres de l'équipe? Quelque chose comme:

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

Merci! :-)

Eric

Répondre

2

La première conception ne signifie ce que vous dites. La seconde dit qu'un User peut être beaucoup TemMember s et vice versa, donc n'est pas approprié. Vous pourrait utiliser un un-à-un à la place, mais ce ne serait pas nécessaire si vous n'avez pas besoin d'ajouter plus d'informations sur les membres de l'équipe.

+0

Très bien. Donc, le 2ème serait bon si, disons, je voulais capturer des informations supplémentaires sur le membre de l'équipe? Disons, la date à laquelle ils sont devenus un membre de l'équipe ou qui les a ajoutés en tant que membre de l'équipe? –

+0

Si vous l'avez converti en un-à-un avec 'User', oui. –

+0

Parfait. Je vous remercie. :) –

Questions connexes