django - динамическая форма fieldsets

Форма будет выкладывать неизвестное количество вопросов, которым ответят. каждый вопрос содержит подсказку, поле значения и поле единицы. Форма создается во времени выполнения в init методе formclass.

править: каждый подвергает сомнению, получает уникальную подсказку, которая будет использоваться в качестве маркировки, а также уникального списка единиц для избранного элемента.

это кажется случаем, идеально подходящим для повторяемой формы fieldsets, который мог быть легко разработан. но с тех пор fieldsets - такие как те, которые в django-form-utils, определяются как кортежи, они неизменны..., и я не могу найти способ определить их во времени выполнения. действительно ли это возможно, или возможно другое решение?

Править:

formsets с initial_data не является ответом - initial_data, просто включает установку значений по умолчанию для полей формы в formset., который список объектов не может быть отправлен choicefield конструктору посредством initial_data.

... если я не ошибаюсь.

5
задан Cody Django 20 April 2010 в 04:36
поделиться

1 ответ

Ознакомьтесь с наборами форм . Вы должны иметь возможность передавать данные для каждого из N вопросов как исходные данные . Что-то вроде этого:

question_data = []
for question in your_question_list:
    question_data.append({'prompt': question.prompt, 
                          'value': question.value, 
                          'units': question.units})
QuestionFormSet = formset_factory(QuestionForm, extra=2)
formset = QuestionFormSet(initial=question_data)
2
ответ дан 15 December 2019 в 06:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: