Данные из форм не сохраняются в базе данных (Django)
Информация, которую я ввожу на своем сайте, когда хочу создать новую викторину, сохраняется только частично, данные для модели викторины сохраняются в моей базе данных, но вопросы с ответами не сохраняются в базе данных при создании викторины. Может ли это быть проблемой с маршрутами? Потому что модель викторины находится в quizes models.py, а ответы и вопросы - в questions models.py
[20/Oct/2024 18:57:06] "GET / HTTP/1.1" 200 15893
[20/Oct/2024 18:57:06] "GET /static/css/style.css HTTP/1.1" 404 1966
[20/Oct/2024 18:57:06] "GET /static/js/script.js HTTP/1.1" 404 1963
[20/Oct/2024 18:57:06] "GET /favicon.ico/ HTTP/1.1" 204 0
[20/Oct/2024 18:57:06] "GET /add_quiz HTTP/1.1" 200 26109
[20/Oct/2024 18:57:06] "GET /static/js/script.js HTTP/1.1" 404 1963
[20/Oct/2024 18:57:06] "GET /static/css/style.css HTTP/1.1" 404 1966
[20/Oct/2024 18:57:07] "GET /favicon.ico/ HTTP/1.1" 204 0
[]
[20/Oct/2024 18:57:25] "POST /add_quiz HTTP/1.1" 302 0
[20/Oct/2024 18:57:25] "GET / HTTP/1.1" 200 16290
[20/Oct/2024 18:57:25] "GET /static/js/script.js HTTP/1.1" 404 1963
[20/Oct/2024 18:57:25] "GET /static/css/style.css HTTP/1.1" 404 1966
[20/Oct/2024 18:57:25] "GET /favicon.ico/ HTTP/1.1" 204 0
также консоль возвращает мне пустой список
Ранее консоль python возвращала [{'id': ['This field is required.']}, {'id': ['This field is required.']}, {'id': ['This field is required.']}, {}]
.
но это исправляется, когда я скрываю management_form
views.py
forms.py
class QuizForm(forms.ModelForm):
class Meta:
model = Quiz
fields = ['title', 'description', 'time', 'required_score', 'difficulty']
def clean_title(self):
title = self.cleaned_data.get('title')
if len(title) > 64:
raise ValidationError('Quiz title is too long.')
return title
def clean_required_score(self):
required_score = self.cleaned_data.get('required_score')
if required_score > 100:
raise ValidationError('Maximum score is 100%.')
return required_score
# Форма для создания Question
class QuestionForm(forms.ModelForm):
class Meta:
model = Question
fields = ['question_text', 'question_type'] # id не включаем
def clean_question_text(self):
text = self.cleaned_data.get('question_text')
if len(text) > 64: # ограничение на длину вопроса
raise ValidationError('Question text is too long.')
return text
class AnswerForm(forms.ModelForm):
class Meta:
model = Answer
fields = ['answer_text', 'is_correct'] # id не включаем
def clean_answer_text(self):
text = self.cleaned_data.get('answer_text')
if len(text) == 0:
raise ValidationError('Answer text cannot be empty.')
return text
# Формсеты для вопросов, для создания нескольких вопросов
QuestionFormSet = modelformset_factory(Question, form=QuestionForm, extra=1)
# Формсеты для вложенных ответов в каждом вопросе
AnswerFormSet = inlineformset_factory(Question, Answer, form=AnswerForm, extra=3, can_delete=True)
quiz.js
Пожалуйста, помогите, не могу решить проблему уже 5 дней, я новичок в Django запросите дополнительную информацию, постараюсь предоставить как можно скорее