Инициализация данных Formset - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь понять, как работает инициализация данных formset. Для создания набора форм вы используете formset_factory и задаете аргументы «extra» и «max_num», которые определяют количество дополнительных пустых форм после начальной / заполненной формы и максимальное количество форм, размещенных с уважением. Но затем, когда вы создаете экземпляр определенного набора форм для передачи в шаблон в качестве данных, вы передаете в этот экземпляр дополнительные данные, в частности «form-TOTAL_FORMS», «form-INITIAL_FORMS» и «form-MAX_NUM_FORMS». Но разве мы уже не определили в formset_factory max_num_forms? Почему мы определяем это дважды? Для документации первоначальные формы кажутся именно такими, какими они кажутся - формы уже заполнены, что отличается от «лишних». Просто не понимаю, как определить максимальный аргумент дважды.

1 Ответ

0 голосов
/ 14 июня 2019

Согласно документам:

You may have noticed the additional data (form-TOTAL_FORMS, form-INITIAL_FORMS and form-MAX_NUM_FORMS) that was required in the formset’s data above. This data is required for the ManagementForm. This form is used by the formset to manage the collection of forms contained in the formset. If you don’t provide this management data, an exception will be raised.

https://docs.djangoproject.com/en/2.2/topics/forms/formsets/#understanding-the-managementform

...