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.

Вернуться на верх