我在管理面板中使用字段集对相关字段进行分组/命名。这在超级用户中效果很好。当我以员工身份登录时,排除了某些字段,我收到错误消息。
渲染时捕获 KeyError:在表单中找不到键“A”
在下面的简单示例中,如果我是超级用户,一切都很好。如果我以员工用户身份登录,则代码排除 A 字段集,我会收到错误消息:
模型.py:
类 Cars(models.Model):
A = models.CharField('A', ...)
B = models....
C = models...
D = models...
管理员.py:
类 CarsAdmin(admin.ModelAdmin):
fieldsets = (_('first group'},{'fields'sad('A','B'),('C','D'),)})
def get_form( self,request,obj=None, **kwargs):
self.exclude = []
if not request.user.is_superuser:
self.exclude.append('A')
return super(CarAdmin,self).get_form(request, obj =None, **kwargs)
底线是我想保持字段集提供的分组。
有谁知道如何有条件地设置字段集?