我有一组权限,从中我为用户分配了一些特定的权限。我正在使用这个:
assign('view_userreports', <objectofuser>, <objectofreport>)
权限分配成功,但是当我转到管理界面查看分配的权限时,它不会突出显示任何权限。请帮助我如何保存分配的权限?
我有一组权限,从中我为用户分配了一些特定的权限。我正在使用这个:
assign('view_userreports', <objectofuser>, <objectofreport>)
权限分配成功,但是当我转到管理界面查看分配的权限时,它不会突出显示任何权限。请帮助我如何保存分配的权限?
我相信捷径应该是assign_perm
而不是assign
。请参阅此处的 django-guardian 文档。
另外,请注意,对象级权限不会显示在http://localhost:8000/admin/auth/user/
用户的管理员身份验证视图 ( ) 中。在您的应用程序admin.py
(或您将模型注册到管理界面的任何位置)中,执行以下操作:
from myapp.models import SomeModel
from django.contrib import admin
from guardian.admin import GuardedModelAdmin
class SomeModelAdmin(GuardedModelAdmin):
pass
admin.site.register(SomeModel, SomeModelAdmin)
授予用户对特定对象的某些对象级权限后,请在管理界面中浏览到该对象。现在您应该Object Permissions
在页面的右上角有一个链接:
单击它,您将能够查看和管理任何 Django 用户对该对象的对象级权限。