您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Django admin-将所有字段设为只读

Django admin-将所有字段设为只读

小心,self.model._Meta.fields不一定与CustomAdmin具有相同的字段!

管理员的所有字段”看起来像这样:

from django.contrib import admin
from django.contrib.admin.utils import flatten_fieldsets

class CustomAdmin(admin.ModelAdmin):
    def get_readonly_fields(self, request, obj=None):
        if request.user.is_superuser:
            return self.readonly_fields

        if self.declared_fieldsets:
            return flatten_fieldsets(self.declared_fieldsets)
        else:
            return list(set(
                [field.name for field in self.opts.local_fields] +
                [field.name for field in self.opts.local_many_to_many]
            ))
Go 2022/1/1 18:23:52 有447人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶