Django админ форма мульти валидация
admin.py
class UserControlAdmin(ExportActionMixin, admin.ModelAdmin):
form = UserControlModelForm
fields = ('user', 'team', 'position')
forms.py
class UserControlModelForm(forms.ModelForm):
def clean_position(self):
position = self.cleaned_data['position'].id
if not isinstance(self.cleaned_data['team'], type(None)):
team = self.cleaned_data['team'].id
...
if p['company_group'] != t['company_group']:
raise ValidationError('...')
return self.cleaned_data['position']
def clean_team(self):
if isinstance(self.cleaned_data['team'], type(None)):
position = self.cleaned_data['position'].id
if position < 4:
...
raise ValidationError('...')
return self.cleaned_data['team']
Я получаю ошибку KeyError в /admin/information/user/add/ 'position'.
Я обнаружил проблему, что внутри clean_team не имеет значения позиции, потому что position стоит behind team в полях администратора. Как я могу это исправить? Можно ли проверить после получения всех параметров? В post запросе все еще есть параметр position.