我有模型(简化示例):
class Group(models.Model):
name = models.CharField(max_length = 32)
class Person(models.Model):
group = models.ForeignKey(Group)
class Task(models.Model):
group = models.ForeignKey(Group)
people = models.ManyToManyField(Person)
def save(self, **kwargs):
ppl = Person.objects.all().filter(group = self.group)
for p in ppl:
self.people.add(p)
super(Task, self).save(**kwargs)
我想将任务分配给某些人,并添加属于该组的所有人员,以及稍后添加其他人(或从任务中删除特定人员)。显然不会执行保存,因为对象在要添加多对多关系对象时没有id。如何处理这种情况?我尝试在将人员添加到任务之前保存,然后再次保存,但没有奏效。
问候
克里斯