【发布时间】:2016-05-10 22:08:30
【问题描述】:
我有一个名为EmailUser 的自定义用户模型,我正在尝试在post_save 上分配自定义模型权限。我在models.py中有以下信号
@receiver(post_save, sender=EmailUser)
def assign_permissions(sender, **kwargs):
emailUser = kwargs["instance"]
if kwargs["created"]:
permission = Permission.objects.get(name='Can view polls')
emailUser.user_permissions.add(permission)
print emailUser.user_permissions.all()
打印语句返回预期的:[<Permission: polls | poll | Can view polls>] 但是当我在 admin 中查看用户时,未选择权限,当我在 shell 中检查时,权限为空。
【问题讨论】:
-
在给用户添加权限之前可以试试
emailUser.save()。 -
@pythonista:刚刚试过。完全相同的行为。
-
@oppositeday 你找到解决方案了吗?我也有类似的问题。
-
@newdimension:很遗憾,没有。我最终不得不使用一种解决方法。
标签: django django-authentication django-signals