我已经更改了应用标签来执行此操作
class Model(models.Model):
pass
class Meta:
app_label = 'App Name'
db_table = 'app_table'
表和应用程序已经存在,问题是当我进入管理界面时,只有 super 用户可以查看该应用程序,而其他用户则不能,我尝试向其他用户添加权限,但它没有出现在权限框。
提前致谢!
最佳答案
这绝对是 Django 中的一个错误。权限app_label和contenttype app_label之间存在冲突,导致权限在管理中永远不匹配。作为修复此问题之前的解决方法,您可以简单地显式授予 ModelAdmin
权限:
class MyModelAdmin(admin.ModelAdmin):
...
def has_add_permission(self, request):
return request.user.has_perm('app_label.add_modelclass')
def has_change_permission(self, request, obj=None):
return request.user.has_perm('app_label.change_modelclass')
def has_delete_permission(self, request, obj=None):
return request.user.has_perm('app_label.delete_modelclass')
其中 app_label
是根模型的 app_label
,modelclass
是代理模型的小写名称。
关于python - Django app_label权限问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4971435/