如何在同一页面上显示多个表单并将其存储在django中的数据库中?

时间:2018-05-06 01:04:04

标签: django django-models django-forms django-templates django-views

这是我的模特课

class Marking(models.Model):
    criteria = models.CharField(max_length=60)
    marks = models.PositiveIntegerField()
    assignment = models.ForeignKey(AssignAssignment, on_delete=models.CASCADE)

这是表单类

class MarkingCriteria(forms.ModelForm):
   class Meta:
      model = Marking
      fields = ('criteria', 'marks', 'assignment')`

我的要求是如何为页面上的标记创建多个标记条件。讲师可以在同一页面上添加与标记标准一样多的内容并提交。

任何想法怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用Formsets在同一页面上使用多个表单。

>>> from django.forms import formset_factory
>>> MarkingCriteriaFormSet = formset_factory(MarkingCriteria)

在此处阅读完整的文档和示例: https://docs.djangoproject.com/en/2.0/topics/forms/formsets/

您还需要添加一些javascript以启用动态添加新表单(就像django-admin一样)