如何显示在管理站点上的组或用户权限列表中添加或更改Django模型的权限?

时间:2012-02-08 20:32:10

标签: django django-models model django-admin django-permissions

我可以运行Django Admin站点,当我作为SuperUser登录时,我也可以修改我的模型。这部分很完美。 当我以非超级用户身份登录时,用户看不到修改此模型的选项。当我以超级用户身份登录并尝试授予此用户/组权限以从权限列表中修改此模型时,我在列表中找不到此权限。

我看到以下权限:

  • admin | log entry |
  • AUTH |组| ...
  • AUTH |消息| ...
  • 权威性|许可| ...
  • 内容类型| ...
  • 会议| ...

但与我的ModelAdmin无关。我的admin.py看起来如下:

from django.contrib import admin
from pl.models import *

class MyModelAdmin(admin.ModelAdmin):
    pass

admin.site.register(MyModel, MyModelAdmin)

只有超级用户可以编辑通过ModelAdmin指定的模型吗?如果我想允许某个组能够为选择的模型执行此操作,该怎么办?有什么办法吗? 感谢。

2 个答案:

答案 0 :(得分:3)

你应该能够做到这一点。尝试再次运行python manage.py syncdb

答案 1 :(得分:2)

如果您已经运行syncdb并且权限仍然不存在,则您不得在INSTALLED_APPS中列出您的应用。否则,Django会自动创建它们。

此外,您提到“与我的ModelAdmin无关”。权限是为模型而不是ModelAdmin创建的。您可能只是输了错误,但如果您正在寻找与ModelAdmin本身相关的内容,则可能是您的问题。