Django Admin权限仅适用于内联

时间:2014-11-04 09:09:28

标签: django admin

我有一个ModelAdmin(A)是另一个ModelAdmin(B)的内联。 我想为A的用户(U)授予管理员权限(添加,更改和删除)。 我向用户提供了他需要的所有权利(我认为):is_staff:True |可以添加,更改,删除A. 问题是U无法在管理面板上看到内联A.如果我也给他B的权限它有效,但我不想让他修改那个模型。 在这些情况下,模型B有一种“只读”吗?

1 个答案:

答案 0 :(得分:1)

管理界面用于编辑,如果您想允许某些用户编辑模型A但不允许模型B添加A作为ModelAdmin,并且只允许那些用户管理(添加,编辑,删除)模型A.

class AAdmin(admin.ModelAdmin):
    ...

class AInline(GenericTabularInline):
    model = A
    ...

class BAdmin(admin.ModelAdmin):
    inlines = [
        AInline,
    ]
    ...     

admin.site.register(A, AAdmin)
admin.site.register(B, BAdmin)



a_user.user_permissions.add('my_app.add_a', 'my_app.change_a', 'my_app.delete_a')
b_user.user_permissions.add('my_app.add_b', 'my_app.change_b', 'my_app.delete_b')