在我的情况下,我有3个动态设置ALL或特定值的字段。
# note im using Q() function
queryset = queryset.filter(
Q(first_name=query) | Q(last_name=query) &
Q(status=dynamic_status) & Q(gender=dynamic_gender) &
Q(position=dymanic_position)
)
status
可能有效/无效/全部gender
可能是男/女/全部position
可能是Position1 / Position2 / Position3 / All 请注意,ALL表示给定的字段选择有限。
如果其中一个字段设置为ALL,我如何过滤查询集中的ALL实例?我应该使用IF ELSE
条件并编写多个查询集过滤器,还是有一种优雅的方法?