我正在尝试将所有字段设为只读而不明确列出它们。
类似:
class CustomAdmin(admin.ModelAdmin):
def get_readonly_fields(self, request, obj=None):
if request.user.is_superuser:
return self.readonly_fields
return self.fields
问题是CustomAdmin.fields
此时没有设置。
有什么想法吗?
最佳答案
从 django 2.1 开始,您可以通过从 ModelAdmin
的 has_change_permission
方法返回 False
来阻止编辑,同时允许查看,如下所示:
class CustomAdmin(admin.ModelAdmin):
def has_change_permission(self, request, obj=None):
return False
(这在 django 2.1 之前不起作用,因为它还会拒绝任何仅尝试查看的用户的权限。)
关于python - Django admin - 使所有字段只读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13817525/