csvdatasource: don't recompute query value for each row (#31489)
This commit is contained in:
parent
58cf6fc3c5
commit
7e8e9cc38b
|
@ -38,10 +38,11 @@ class CsvDataView(View, SingleObjectMixin):
|
|||
filters = []
|
||||
for column_title in [t.strip() for t in self.get_object().columns_keynames.split(',') if t]:
|
||||
if column_title in params.keys():
|
||||
query_value = request.GET.get(column_title, '')
|
||||
if 'case-insensitive' in params:
|
||||
filters.append("%s.lower() == query.get('%s', '').lower()" % (column_title, column_title))
|
||||
filters.append("%s.lower() == %r" % (column_title, query_value.lower()))
|
||||
else:
|
||||
filters.append("%s == query.get('%s')" % (column_title, column_title))
|
||||
filters.append("%s == %r" % (column_title, query_value))
|
||||
query = Query(filters='\n'.join(filters))
|
||||
return self.get_object().execute_query(request, query, **params.dict())
|
||||
|
||||
|
|
Loading…
Reference in New Issue