按字段过滤查询集='SPECIFIC_VAL'否则字段='全部'

时间:2017-07-25 08:49:14

标签: django django-queryset

在我的情况下,我有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)
)
  1. status可能有效/无效/全部
  2. gender可能是男/女/全部
  3. position可能是Position1 / Position2 / Position3 / All
  4. 请注意,ALL表示给定的字段选择有限。

    如果其中一个字段设置为ALL,我如何过滤查询集中的ALL实例?我应该使用IF ELSE条件并编写多个查询集过滤器,还是有一种优雅的方法?

0 个答案:

没有答案