我有一个带有role
字段的用户模型。我希望每个用户都在一个与他们的role
相对应的Group
中。
所以我尝试在每次保存user
时设置他们的组。问题是保存后用户不在任何组中。
用户模型的重要部分
...
role = models.CharField('Rola', max_length=32, choices=RoleChoices.choices, null=True, blank=True
)
def save(self, *args, **kwargs):
self._set_role_stuff()
super().save()
self._set_group()
pass
def _set_role_stuff(self):
if self.role and not self.role == RoleChoices.CLIENT:
self.is_staff = True
else:
self.is_staff = False
def _set_group(self):
self.groups.clear()
group = Group.objects.get(name='Fotograf')
self.groups.add(group)
我怎样才能让它工作呢?
1条答案
按热度按时间9lowa7mx1#
您遇到的问题是您将组添加到用户,而不是以相反的方式(将用户添加到组)。
@juankysmith这样解决了这个问题:
原始答案如下:
https://stackoverflow.com/a/6288863/6417220