在模型保存方法中设置ManyToMany字段

时间:2018-10-12 03:43:41

标签: django django-models

我遇到问题,我尝试保存模型,仅将“公司”字段中设置的公司用户添加到“成员”。

这是我的代码:

class GroupFolderAccess(BaseModel):
    name = models.CharField(max_length=128)
    members = models.ManyToManyField(settings.AUTH_USER_MODEL, blank=True, related_name='belongs')
    company = models.ForeignKey('Company', on_delete=models.CASCADE, related_name='folders')
    folder = models.ForeignKey('recourse.Folder', null=True, blank=True, on_delete=models.CASCADE, related_name='get_group')

    def save(self, *args, **kwargs):
        for member in self.members.all():
            if self.company != member.company:
                print(member)
                self.members.remove(member)

        return super(GroupFolderAccess, self).save(*args, **kwargs)

保存后,它会正确显示用户,但不会将他们从关系中删除。

0 个答案:

没有答案