我试图弄清楚如何在创建ModelChoiceField时设置初始值(而不是在表单创建时)。以下是我现在拥有的非常简化的示例,我想在渲染时为州和国家/地区设置默认值。
我认为可以在SetBillingInfo
的{{1}}类中完成此操作,但无法使其正常工作。假设我要为州默认为加利福尼亚,为国家/地区默认为美国。有办法设置吗?
FORMS.PY
Forms.py
VIEWS.PY
class SetBillingInfo(forms.Form):
state = forms.ModelChoiceField(
queryset=States.objects.all().order_by('group_order','name'),
to_field_name='name',
label = '',
required=False
)
country = forms.ModelChoiceField(
queryset=Country.objects.all().order_by('group_order','name'),
to_field_name='name',
label = '',
required=True
)
INDEX.HTML(这不是完全正确,但您可以理解)
billinginfo = SetBillingInfo(initial=request.GET)
return render(request, 'index.html',{'billinginfo': billinginfo})
答案 0 :(得分:0)
在 forms.py
中default_state=States.objects.get(name='California')
state = forms.ModelChoiceField(
queryset=States.objects.all().order_by('group_order','name'),
to_field_name='name',
label = '',
initial=default_state,
required=False
)