如何从 Django 模型中所属的所有组中删除用户?
How to remove a user from all ther groups they belong to in django model?
例如,我有两个模型 Group
和 OrganizationUser
。 members
是 Group
模型中的一个字段,定义为
members=models.ManyToManyField('organizations.OrganizationUser', related_name="member_in_groups", blank=True)
这意味着一个 Group
实例可以有零个或多个成员,一个 OrganizationUser
实例可以是零个或多个组的成员
对于 OrganizationUser user1
的实例,我可以 user1.member_in_groups.all()
访问所有 user1
所属的组。我想从 user1
所属的所有组中删除 user1
。我觉得逐个遍历组并删除 user1
不是正确的方法。这样做的正确方法是什么?
我找到了解决方案
clear
方法应该适用于该场景。 user1.member_in_groups.clear()
会清空组user1
成员的记录,也会反映在关系的另一端,也就是说user1
会从组user1
中移除成员.
例如,我有两个模型 Group
和 OrganizationUser
。 members
是 Group
模型中的一个字段,定义为
members=models.ManyToManyField('organizations.OrganizationUser', related_name="member_in_groups", blank=True)
这意味着一个 Group
实例可以有零个或多个成员,一个 OrganizationUser
实例可以是零个或多个组的成员
对于 OrganizationUser user1
的实例,我可以 user1.member_in_groups.all()
访问所有 user1
所属的组。我想从 user1
所属的所有组中删除 user1
。我觉得逐个遍历组并删除 user1
不是正确的方法。这样做的正确方法是什么?
我找到了解决方案
clear
方法应该适用于该场景。 user1.member_in_groups.clear()
会清空组user1
成员的记录,也会反映在关系的另一端,也就是说user1
会从组user1
中移除成员.