J'ai ces trois modèles:
- La personne.
- Projet.
- Rôle.
En utilisant le système de modèles de Django, comment représenter le fait qu’une personne participe à un projet particulier avec un rôle spécifique?
problème général: quelle est la bonne façon de gérer "associations ternaires"utiliser Django?
Réponses:
1 pour la réponse № 1Je le ferais en utilisant un modèle intermédiaire pour la relation m2m et ajouterais un champ là-bas.
Quelque chose comme ça:
class Role(models.Model):
name = models.CharField(max_lenth=32)
class Project(models.Model):
name = models.CharField(max_lenth=32)
class PersonProject(models.Model):
person = models.ForeignKey(".Person")
project = models.ForeignKey(Project)
role = models.ForeignKey(Role)
class Person(models.Model):
projects = models.ManyToManyField(Project, through=PersonProject)