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"), а затем вставить в модель.

Вернуться на верх