如何在fi中使用“or”

2024-09-28 13:22:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做一个搜索,但我需要把状态取消或修改的寄存器。你知道吗

我原以为这样行得通,但没成功

citasotras = citas_agendarcita.objects.filter(cita_agendar_status="Modificada" or "",citas_tipodepaciente="mediexcel")

Tags: orobjects状态statusfilter寄存器行得通cita
2条回答

在您的示例中,表达式"Modificada" or ""的计算结果为"Modificada"。你知道吗

>>> "Modificada" or ""
'Modificada'

因此,你的例子就好像你有:

citasotras = citas_agendarcita.objects.filter(cita_agendar_status="Modificada", citas_tipodepaciente="mediexcel")

您需要任何对象,其中cita_agendar_status等于列表["Modificada", ""]中的任何项。可以使用__in执行以下操作:

citasotras = citas_agendarcita.objects.filter(cita_agendar_status__in=["Modificada", ""] ,citas_tipodepaciente="mediexcel")

有关详细信息,请参见Django docs。你知道吗

For和/或条件Q objects可用于:

citas_agendarcita.objects.filter(Q(cita_agendar_status="Modificada")|Q(cita_agendar_status=""), \                               
                                 citas_tipodepaciente="mediexcel")

相关问题 更多 >

    热门问题