0

ドキュメントによると、モデルにバインドされているフィールドの初期値を提供することはできません。

モデルフォームでは、追加の非バインドフィールドを作成しましたが、次のようになります。

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;

しかし、それは機能しません。バインドされていないフィールドの初期値を設定する方法はありますか?

どうもありがとう

4

1 に答える 1

0

これは私のために実行されます:

for form in opendeal_formset:
    form.fields['attach_deal_conversation'].initial=True
于 2012-08-14T22:25:52.407 に答える