!102 1.增加日期&时间范围查询;2.修复查询条件为''过滤器报错问题

Merge pull request !102 from 时光Time./dev
pull/104/head
dvadmin 2023-08-15 13:16:41 +00:00 committed by Gitee
commit 0b98b1b9b9
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
1 changed files with 9 additions and 4 deletions

View File

@ -351,11 +351,16 @@ class CustomDjangoFilterBackend(DjangoFilterBackend):
queries = []
for search_term_key in filterset.data.keys():
orm_lookup = self.find_filter_lookups(orm_lookups, search_term_key)
# print(search_term_key, orm_lookup)
if not orm_lookup:
if not orm_lookup or filterset.data.get(search_term_key) == '':
continue
filterset_data_len = len(filterset.data.getlist(search_term_key))
if filterset_data_len == 1:
query = Q(**{orm_lookup: filterset.data[search_term_key]})
queries.append(query)
elif filterset_data_len == 2:
orm_lookup += '__range'
query = Q(**{orm_lookup: filterset.data.getlist(search_term_key)})
queries.append(query)
if len(queries) > 0:
conditions.append(reduce(operator.and_, queries))
queryset = queryset.filter(reduce(operator.and_, conditions))