Я использую наборы полей в своей панели администратора для группировки/названия связанных полей. Это отлично работает в суперпользователе. Когда я вхожу в систему как сотрудник, в котором исключены некоторые поля, я получаю сообщение об ошибке.
Обнаружена ошибка KeyError при рендеринге: ключ "A" не найден в форме
В простом примере ниже, если я суперпользователь, все отлично работает. Если я вхожу в систему как штатный пользователь, таким образом, код исключает A fieldset, я получаю сообщение об ошибке:
модели.ру:
class Cars(models.Model):
A = models.CharField('A', ...)
B = models....
C = models...
D = модели...
admin.py:
class 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)
Суть в том, что я хочу сохранить группировку, предлагаемую наборы полей.
Кто-нибудь знает, как условно установить наборы полей??