简体   繁体   English

Django中的Form.is_valid

[英]Form.is_valid in Django

I have a problem with a form validation in Django. 我在Django中进行表单验证时遇到问题。 I have this in views.py: 我在views.py中有这个:

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...

And this in forms.py: 这在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)

This returns a single registry (because I give the "id"), show that option in the "select", all works fine. 这将返回一个注册表(因为我给出了“ id”),在“ select”中显示了该选项,所以一切正常。 But when I do click in "Save" button Django say "Choose a valid option" and not show me one option in "select". 但是当我点击Django的“保存”按钮时,说“选择一个有效的选项”,而不是在“选择”中显示一个选项。 What can I do? 我能做什么? I need change the field to show the unique option of the queryset returns? 我需要更改字段以显示queryset返回的唯一选项吗?

在POST块中实例化表单时,也需要传递idc。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM