def clean(self): #вызывается столько раз, сколько есть ответов на форме забирая по очереди каждый ответ
cleaned_data = super().clean() #забирает данные из очередного answers_set
true_answer = cleaned_data.get("true_answer") #получает состояние чекбокса
if true_answer: # если он взведён
# Проверяем, что у других ответов не установлен чекбокс "Верный ответ"
answers = Answer.objects.filter(question_id=cleaned_data.get("question_id")) # собираем информацию из БД по уже имеющимся записям.
for answer in answers: #если хотя бы в одной из них true вызываем ValidationError
if answer.true_answer:
raise ValidationError("Нельзя установить более одного верного ответа")
return cleaned_data # иначе возвращаем данные
def clean(self): #вызывается столько раз, сколько есть ответов на форме
cleaned_data = super().clean() #забирает по очереди каждый ответ
true_answer = cleaned_data.get("true_answer") #получает состояние чекбокса
if true_answer: # если он взведён
# Проверяем, что у других ответов не установлен чекбокс "Верный ответ"
answers = Answer.objects.filter(question_id=cleaned_data.get("question_id")) # собираем информацию из БД по уже имеющимся записям.
for answer in answers: #если хотя бы в одной из них true вызываем ValidationError
if answer.true_answer:
raise ValidationError("Нельзя установить более одного верного ответа")
return cleaned_data # иначе возвращаем данные
Задавшись вопросом а "какого собственно?" нашел что запрос на сервер не прилетает, проверил маршрут и да, я забыл / в конце...
axios.get(API_URL+'/check/') вот так всё работает.