Использование пакета django-formset в классе base view
когда я использую этот пакет (django-formset 0.8.8) из класса "FormCollections" после отправки формы перенаправляет на URL успеха, но данные не сохраняются в базе данных
эта модель предназначена для данных викторины для каждого устройства
model.py
from django.db import models
from device.models import Device
class QuestionTraining(models.Model):
ANSWER_CHOICES = (
('1', 'گزینه 1'),
('2', 'گزینه 2'),
('3', 'گزینه 3'),
('4', 'گزینه 4'),
)
device = models.ForeignKey(
Device, on_delete=models.CASCADE, verbose_name='دستگاه')
question = models.CharField(max_length=500, null=True)
op1 = models.CharField(max_length=200, null=True)
op2 = models.CharField(max_length=200, null=True)
op3 = models.CharField(max_length=200, null=True)
op4 = models.CharField(max_length=200, null=True)
answer = models.CharField(max_length=1, choices=ANSWER_CHOICES, null=True)
def __str__(self):
return self.question
Я использую эту форму для отображения встроенного набора форм для каждого теста
forms.py
from django import forms
from .models import QuestionTraining
class CreateQuestionTrainingDeviceForm(forms.ModelForm):
class Meta:
model = QuestionTraining
fields = ['device']
class CreateQuestionTrainingForm(forms.ModelForm):
class Meta:
model = QuestionTraining
fields = ['question', 'op1', 'op2', 'op3', 'op4', 'answer']
class PhoneNumberForm(forms.Form):
phone_number = forms.fields.CharField()
label = forms.fields.CharField()
class QuestionCollection(FormCollection):
min_siblings = 1
max_siblings = 5
extra_siblings = 1
question = CreateQuestionTrainingForm()
class ContactCollection(FormCollection):
divice = CreateQuestionTrainingDeviceForm()
question = QuestionCollection()
после отправки формы данные не сохраняются в базе данных, а перенаправляются на URL-адрес успеха
views.py
class QuestionTrainingCreateView(FormCollectionView):
template_name = 'question_training/create.html'
collection_class = ContactCollection
success_url = '/question_training/list'