0

我在管理面板中使用字段集对相关字段进行分组/命名。这在超级用户中效果很好。当我以员工身份登录时,排除了某些字段,我收到错误消息。

渲染时捕获 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)

底线是我想保持字段集提供的分组。

有谁知道如何有条件地设置字段集?

4

1 回答 1

0

A字段self.fieldsets添加到self.exclude.

于 2010-08-01T19:05:33.577 回答