Как отобразить несколько форм на одной странице и сохранить их в базе данных в Django? - PullRequest
0 голосов
/ 06 мая 2018

Это моя модель класса

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 голосов
/ 06 мая 2018

Вы можете использовать Formsets для работы с несколькими формами на одной странице.

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

Прочитайте полную документацию и примеры здесь: https://docs.djangoproject.com/en/2.0/topics/forms/formsets/

Вам также понадобится добавить некоторый javascript, чтобы разрешить динамическое добавление новых форм (как django-admin)

...