在ModelFormset中设置Initial

时间:2012-08-03 19:24:43

标签: django

根据documentation提供绑定到模型的字段的初始值是不可能的。

在我的模型表单中,虽然我创建了一个额外的未绑定字段:

class DealCForm(ModelForm):
    attach_deal_conversation  = forms.BooleanField(required=False, initial=False)

因此,如果满足某些条件,我想设置此值。

查看:

deal_formset = modelformset_factory(Deal, form=DealCForm, extra=0)

if (request.POST)
        pass
else:                 
        opendeal_formset = deal_formset(queryset=formset_query)
variables = RequestContext(request, {'opendeal_formset' : opendeal_formset)
return render_to_response('conversation.html', variables)

在视图中,在将其发送到模板之前,我已直接设置了值,但它不起作用:

for dfm in deal_formset:
            for odfm in opendeal_formset:
                if dfm.pk == odfm.pk:
                    odfm.attach_deal_conversation = True;

但它不起作用。不知道如何设置未绑定字段的初始值?

非常感谢

1 个答案:

答案 0 :(得分:0)

这适用于我:

for form in opendeal_formset:
    form.fields['attach_deal_conversation'].initial=True