我有这三种模式:
使用Django的模型系统,如何表示一个人参与具有特定角色的特定项目的事实?
一般问题:处理" 三元关联"的正确方法是什么?使用Django?
答案 0 :(得分:1)
我会使用m2m关系的中间模型并在那里添加一个字段 像这样:
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)