changes
This commit is contained in:
18
app/views.py
18
app/views.py
@@ -285,22 +285,20 @@ def final_result(rows, calculation=None, final_filter=None, final_exclude=None,
|
||||
if calculation:
|
||||
rows = calculate(rows, calculation)
|
||||
|
||||
if final_filter != None:
|
||||
if final_filter:
|
||||
filter_list = Q()
|
||||
for key, value in ast.literal_eval(final_filter).items():
|
||||
if isinstance(value, dict) == True:
|
||||
if value['type'] == 'F':
|
||||
filter_list.add(Q(**{key: F(value['field'])}), Q.AND)
|
||||
for key, value in final_filter.items():
|
||||
if isinstance(value, dict) and value.get('type') == 'F':
|
||||
filter_list.add(Q(**{key: F(value['field'])}), Q.AND)
|
||||
else:
|
||||
filter_list.add(Q(**{key: value}), Q.AND)
|
||||
rows = rows.filter(filter_list)
|
||||
|
||||
if final_exclude != None:
|
||||
if final_exclude:
|
||||
exclude_list = Q()
|
||||
for key, value in ast.literal_eval(final_exclude).items():
|
||||
if isinstance(value, dict) == True:
|
||||
if value['type'] == 'F':
|
||||
exclude_list.add(Q(**{key: F(value['field'])}), Q.AND)
|
||||
for key, value in final_exclude.items():
|
||||
if isinstance(value, dict) and value.get('type') == 'F':
|
||||
exclude_list.add(Q(**{key: F(value['field'])}), Q.AND)
|
||||
else:
|
||||
exclude_list.add(Q(**{key: value}), Q.AND)
|
||||
rows = rows.exclude(exclude_list)
|
||||
|
||||
Reference in New Issue
Block a user