0

我有这个代码

 session_inicio = django_filters.Filter(lookup_type = 'gte',
                                               label = 'session_inicio',
                                               name='session_inicio')

我想在我的查询中包含另一个条件......

session_end = django_filters.Filter(lookup_type = 'lte',
                                               label = 'session_end',
                                               name='session_end')

为了有这样的东西:

rangedates = session_inicio || session_end

有可能做这样的事情吗?

4

1 回答 1

0

我不相信普通的 QuerySet 对象支持这些运算符,但是

您可以动态构建字典kwargs并使用**

dynamic_lookup_dict = {}

if condition:
  dynamic_lookup_dict['session_inicio__gte'] = 'avalue'
elif other_condition:
  dynamic_lookup_dict['session_inicio__lte'] = 'avalue'

django_filters.filter(**dynamic_lookup_dict)
于 2013-07-18T15:45:52.813 回答