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

时间:2010-08-01 19:01:11

标签: fieldset

我在管理员面板中使用字段集来分组/标题我的相关字段。 这在超级用户中很有用。当我以工作人员身份登录时,排除了一些字段,我收到错误。

渲染时出现KeyError:在表单中找不到键'A'

在下面的简单示例中,如果我是超级用户,那么一切都很棒。 如果我以员工用户身份登录,那么代码排除了我得到的字段集 错误:

models.py:

class Cars(models.Model):
A = models.CharField('A',...)
B =模型....
 C =模型......
D =模型......

admin.py:

类CarsAdmin(admin.ModelAdmin):
fieldsets =(_('first group'},{'fields'sad('A','B'),('C','D'),)})
def get_form(self,request,obj = None,** kwargs):
 self.exclude = []
如果不是request.user.is_superuser:
 self.exclude.append( 'A')
return super(CarAdmin,self).get_form(request,obj = None,** kwargs)

底线是我想维持字段集提供的分组
有谁知道如何有条件地设置字段集?

1 个答案:

答案 0 :(得分:0)

A字段添加到self.fieldsets时,您需要从self.exclude中移除{{1}}字段。

相关问题