Django Динамические поля внутри формы
Требование к моему приложению - предоставить пользователю возможность создавать опрос. Для каждого опроса пользователь должен иметь возможность добавлять любое количество вопросов. Я пытаюсь достичь этого, сначала определив мои модели и форму.
# models.py.
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
def __str__(self):
return self.question_text
class Survey(models.Model):
survey_name = models.CharField(max_length=200)
questions = models.ForeignKey(Question, on_delete=models.CASCADE)
def __str__(self):
return self.survey_name
#forms.py
from django import forms
class Survey(forms.Form):
survey_name = forms.CharField(required=200)
#TODO: define questions
Я застрял. В моем модуле формы, как мне определить связь "один ко многим" между опросом и вопросами, чтобы пользователь мог добавлять и определять вопросы для каждого создаваемого им опроса.
Вы можете следовать этому руководству для создания динамических форм dynamic form using django.
или вы можете использовать javascript dynamic input using javascript, чтобы позволить пользователю создавать столько полей, сколько он хочет. и получить эти поля в представлении с помощью request.POST.getlist("html input field name")
, а затем вставить в модель.