表单中的 Django 动态字段

Django Dynamic Fields Within A Form

我的应用程序的一个要求是让用户能够创建调查。对于每项调查,用户应该能够添加任意数量的问题。我试图通过首先定义我的模型和表单来实现这一点。

# 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") 查看这些字段,然后插入到模型中。