我想进行搜索,但我需要带上状态为 Canceled 或 modified 的寄存器。
我以为这样可以,但是没有
citasotras = citas_agendarcita.objects.filter(cita_agendar_status="Modificada" or "",citas_tipodepaciente="mediexcel")
最佳答案
在您的示例中,表达式 "Modificada"或 ""
的计算结果为 "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了解更多信息。
关于python - 如何在过滤器中使用 "or",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20304453/