【发布时间】:2018-06-18 01:38:36
【问题描述】:
如何在查询集中添加其他过滤条件?
一般情况下,我只能使用以下一种条件进行过滤:
queryset = PhysicalServerTask.objects.filter(task_status=TASK_STATUS.GOOD)
我们可以使用and 等其他条件进行过滤吗?
我想过滤tast_status等于TASK_STATUS.GOOD或TASK_STATUS.WELL。
怎么办?
我知道我可以过滤TASK_STATUS.GOOD 和TASK_STATUS.WELL,然后将它们合并。但是,如果有更好的方法来访问它?
【问题讨论】:
-
我们不能只做
PhysicalServerTask.objects.filter(task_status__in=[TASK_STATUS.GOOD, TASK_STATUS.WELL])吗?(关键字参数查询 - 在 filter() 等 - 被“与”在一起。如果您需要执行更复杂的查询(例如,带有 OR 语句的查询),您可以使用 Q 对象。) -
你不应该称之为 AND,它更像是 OR。
-
@wim 是的,是的。我的错误,我想写,或者,我头晕目眩。