首页 > 解决方案 > 在模型保存方法中设置 ManyToMany 字段

问题描述

我有一个问题,我尝试保存模型,只将属于“公司”字段中设置的公司的用户添加到“成员”中。

这是我的代码:

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)

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

标签: djangodjango-models

解决方案


推荐阅读