Суть вопроса такова. Есть две модели, вопрос и ответы.
Мне нужно сделать набор форм и определить ему собственную валидацию. С валидацией нет проблем. Проблема с созданием набора. Я почитал доку, прогуглил уже много.
Вариант создавать forms.FORM или forms.ModelForm не имеет значения(BaseFormSet ot BaseModelFormSet).
Я сделал добавление вопросов с ответам в админке. Теперь мне нужно, выводить юзеру тест из случайных нескольких вопросов, на каждый только один правильный ответ(RadioSelect() юзать). И проверят на все ли ответил и правильно ли ответил. Как я понимаю, надо создать форму для одного вопроса с ответами, и сделать набор форм из этой формы. Но туда еще и данные начальные надо запихать(т.е. вопрос и ответы).
Проблема только с созданием формы. Не могу понять как сделать. Подскажите что куда смотреть.
вот модели:
class Question(models.Model):
question = models.TextField("Вопрос:")
date_created = models.DateTimeField("Дата создания вопроса",
auto_now_add=True)
active = models.BooleanField("Активен ли вопрос", default=True)
def __str__(self):
return self.question
class Meta:
verbose_name = "Вопрос"
verbose_name_plural = "Вопросы"
class Answers(models.Model):
question = models.ForeignKey(Question, verbose_name="Вопрос: ")
answer = models.CharField("Ответ:", max_length=250)
correctly = models.BooleanField("Правильный ответ", default=False)
def __str__(self):
return self.answer