我有一个向导形式返回多个表单,其中一些被定义为表单集。使用相同的表单进行编辑时,我很难在ModelChoiceField中获取初始值。
它适用于其他字段,但适用于ModelChoiceField。这些字段在模型中定义为CharField。继承人我做了什么:
views.py
FooFormset = modelformset_factory(model=Foo, form=FooForm, max_num=10, extra=0,)
FORMS = {
"ba": BarForm,
"fo": FooFormset,
}
form = form_class = FORMS[step]
if request.method == 'POST':
#do some postings
else:
if step in['fo']:
form = form_class(queryset = model_form_instances)
forms.py
field1 = forms.ModelChoiceField(queryset = Foo.objects.all(), required=True)