开发者

Does anyone know how to conditionally set the fieldsets?

开发者 https://www.devze.com 2023-01-09 14:39 出处:网络
I use fieldsets in my admin panel to group/title my related fields. This works great in superuser.When I log in as staff, which has some fields excluded I get an error.

I use fieldsets in my admin panel to group/title my related fields. This works great in superuser. When I log in as staff, which has some fields excluded I get an error.

Caught KeyError while rendering: Key 'A' not found in Form

In the simple example below if i'm a super user all works great. If i log in as a staff user thus the code exclude A fieldset I get the the error:

models.py:

class Cars(models.Model):

   A = models.CharField('A', ...)

   B = models....

   C = models...

   D = models...

admin.py:

class CarsAdmin(admin.ModelAdmin):

  fieldsets = (_('first group'},{'fields'sad('A','B'),('C','D'),)})

 &nb开发者_JAVA技巧sp;   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)

Bottom line is I want to maintain the grouping offered by fieldsets.

Does anyone know how to conditionally set the fieldsets??


You need to remove A field from self.fieldsets as well, when adding it to self.exclude.

0

精彩评论

暂无评论...
验证码 换一张
取 消