Хранение множественных данных из HTML-форм в базе данных
Я создаю приложение викторины и у меня есть некоторое значение для каждого радио параметра, и я хочу хранить вопрос, вариант, который выбрал пользователь и значение для этого параметра в базе данных.
Ниже приведена модель для вопросов, в которой я сохранил вопрос. Из этой модели я получаю вопрос и варианты для отображения пользователю
models.py
class modelStrategy(models.Model):
domainStrategy = models.CharField(
max_length=20, default="Strategy", blank=True)
dateStrategy = models.DateField(auto_now_add=True)
priorityStrategy = models.IntegerField()
questionsToAddStrategy = models.CharField(max_length=256)
questionType = models.CharField(max_length = 20,choices=QUESTION_CHOICE,null=True, blank=True)
question_text = models.CharField(max_length=200,null=True, blank=True)
OptionsOneStrategy = models.CharField(max_length=120, null=True, blank=True)
OptionsOneValueStrategy = models.IntegerField(null=True, blank=True)
OptionsTwoStrategy = models.CharField(max_length=120, null=True, blank=True)
OptionsTwoValueStrategy = models.IntegerField( null=True, blank=True)
OptionsThreeStrategy = models.CharField(
max_length=120, null=True, blank=True)
OptionsThreeValueStrategy = models.IntegerField(null=True, blank=True)
OptionsFourStrategy = models.CharField(
max_length=120, null=True, blank=True)
OptionsFourValueStrategy = models.IntegerField(null=True, blank=True)
OptionsFiveStrategy = models.CharField(
max_length=120, null=True, blank=True)
OptionsFiveValueStrategy = models.IntegerField(null=True, blank=True)
OptionsSixStrategy = models.CharField(
max_length=120, null=True, blank=True)
OptionsSixValueStrategy = models.IntegerField(null=True, blank=True)
вот файл views.py
def chnageQuesStra(request):
if request.method == "POST":
saveans = modelAnswer()
saveans.questionsToAddStrategy = request.POST.get("Question")
saveans.OptionsStrategy = request.POST.get('option')
questionsToAddStrategy = request.POST.get("Question")
saveans.save()
mod = modelStrategy.objects.all()
paginator = Paginator(mod,1)
try:
page = int(request.GET.get('page','1'))
except:
page =1
try:
questions = paginator.page(page)
except(EmptyPage,InvalidPage):
questions = paginator.page(paginator.num_pages)
context = {
"mod":mod,
"questions":questions,
}
return render(request,'Questions.html',context=context)
вот html код, в котором я отображаю вопрос.
В следующей модели я хочу хранить пользовательский ввод, такой как выбранный вариант ответа и значение варианта
class modelAnswer(models.Model):
domainStrategy = models.CharField(
max_length=20, default="Strategy", blank=True)
dateStrategy = models.DateTimeField(auto_now_add=True)
questionsToAddStrategy = models.CharField(max_length=256)
questionType = models.CharField(max_length = 20,null=True, blank=True)
OptionsStrategy = models.CharField(max_length=120, null=True, blank=True)
OptionsValueStrategy = models.IntegerField(null=True, blank=True)