python - 如何在过滤器中使用 "or"

标签 python django filter view

我想进行搜索,但我需要带上状态为 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/

相关文章:

python - 从同一页面中的多个表单获取用户输入

jquery - 同位素附加问题

JQuery Bootstrap 数据表 : Filter column containing select and input elements

django - 如何在 Django 中创建一个 'fill in the blanks' 表单

python - 使用序列化器作为查询参数验证器是一个好习惯吗?

iphone - 在 Objective C 中查询数组(如 MySQL)

python - 如何在 scikit 中加载 CSV 数据并将其用于朴素贝叶斯分类

带有协议(protocol)和 TypeVar 的 Python 类型提示以指定任意数据类

python - 将 Django 打印的日期时间转换为不同的日期时间格式

python - 如果循环 x 次,计算列表项通过次数的公式是什么