Django与其他字段的ManyToMany关系

我想存储一些额外的信息,自动创buildManyToMany连接表。 我将如何在Django中做到这一点?

在我的情况下,我有两个表:“员工”和“项目”。 我想存储的是每个员工在每个项目中每工作小时收到多less,因为这些值是不一样的。 那么,我该怎么做呢?

发生在我身上的是,而不是“ManyToManyField”方法,显式创build第三个类/表来存储这些新的信息,并使用“ForeignKey”方法设置其与“Employees”和“Projects”的关系。 我很确定它会起作用,但是这是最好的方法吗?

这里是你想要实现的例子:

http://docs.djangoproject.com/en/dev/topics/db/models/#extra-fields-on-many-to-many-relationships

如果链接断裂:

from django.db import models class Person(models.Model): name = models.CharField(max_length=128) def __str__(self): # __unicode__ on Python 2 return self.name class Group(models.Model): name = models.CharField(max_length=128) members = models.ManyToManyField(Person, through='Membership') def __str__(self): # __unicode__ on Python 2 return self.name class Membership(models.Model): person = models.ForeignKey(Person) group = models.ForeignKey(Group) date_joined = models.DateField() invite_reason = models.CharField(max_length=64)