2015-03-18 37 views
0

我在Django中的表單驗證有問題。 我有這個在views.py:Django中的Form.is_valid

def n_visita(request, id_c): 
    if request.method == 'POST': 
     formulario = FormularioVisita(data=request.POST) 
     if formulario.is_valid(): 
      ··· 
      save_form.save() 
      return HttpResponseRedirect('/') 
    else: 
     formulario = FormularioVisita(idc=id_c) 
     ··· 
     return... 

而這forms.py:

class FormularioVisita(ModelForm): 
    class Meta: 
     model = Visita 

    def __init__(self, idc=None, *args, **kwargs): 
     super(FormularioVisita, self).__init__(*args, **kwargs) 
     self.fields["IdCita"].queryset = Citas.objects.filter(id=idc,Dia=date.today(),espera=True,estado=True) 

這將返回一個註冊表(因爲我帶來的 「ID」),表明在該選項「選擇」,一切正常。 但是,當我點擊「保存」按鈕Django說「選擇一個有效的選項」,而不是在「選擇」中顯示我一個選項。 我能做什麼?我需要更改字段以顯示查詢集返回的唯一選項?

回答

1

當您在POST塊中實例化表單時,您還需要傳入idc。

+0

formulario = FormularioVisita(data = request.POST,id = id_c) 是否正確? – 2015-03-19 00:20:17

+1

formulario = FormularioVisita(data = request.POST,idc = id_c) – 2015-03-19 04:18:43

+0

好的,沒錯,但不起作用。 Django仍然會說同樣的信息。 – 2015-03-19 16:52:08

相關問題