Django 表单错误时非模型表单上的下拉选择

Django 表单错误时非模型表单上的下拉选择,django,django-forms,Django,Django Forms,我创建了一个非模型表单。用一个模型选择场 class BookingFormSetupForm(forms.Form): paymentmethod = forms.ModelChoiceField(queryset=PaymentMethod.objects.none(),required=False) 我遇到了一个问题,当用户在modelchoicefield上选择一个值,然后与表单的其余部分交互,但在其他表单字段中输入的内容不正确时,表单上会在保存时抛出一个错误(这很好),但当表

我创建了一个非模型表单。用一个模型选择场

class BookingFormSetupForm(forms.Form):
    paymentmethod = forms.ModelChoiceField(queryset=PaymentMethod.objects.none(),required=False)
我遇到了一个问题,当用户在modelchoicefield上选择一个值,然后与表单的其余部分交互,但在其他表单字段中输入的内容不正确时,表单上会在保存时抛出一个错误(这很好),但当表单重新加载并显示错误消息时,不再选择用户在modelchoicefield上选择的值(这是错误的)。选择的是上次保存到此字段的值

当显示错误时,是否有方法让用户在重新加载页面时选择先前的选择


谢谢

在form.is\u valid()下的else语句中,必须使用表单中的值初始化表单,然后才能重新加载页面

    paymentmethod = form.cleaned_data['paymentmethod']

    form = BookingFormSetupForm(request.POST or None, user=user, initial={                                                          
                                                                 'paymentmethod': paymentmethod, 
                                                                 })