Commit a5844662 by Matt Drayer Committed by Jonathan Piacenti

mattdrayer/api-time-series-fix: Use backticks instead of quotes

parent 43493ddf
...@@ -152,7 +152,7 @@ def get_time_series_data(queryset, start, end, interval='days', date_field='crea ...@@ -152,7 +152,7 @@ def get_time_series_data(queryset, start, end, interval='days', date_field='crea
_, end = get_interval_bounds(end, interval.rstrip('s')) _, end = get_interval_bounds(end, interval.rstrip('s'))
if date_field_model: if date_field_model:
date_field = '"{}"."{}"'.format(date_field_model._meta.db_table, date_field) date_field = '`{}`.`{}`'.format(date_field_model._meta.db_table, date_field)
sql = { sql = {
'mysql': { 'mysql': {
...@@ -169,7 +169,7 @@ def get_time_series_data(queryset, start, end, interval='days', date_field='crea ...@@ -169,7 +169,7 @@ def get_time_series_data(queryset, start, end, interval='days', date_field='crea
} }
} }
interval_sql = sql[engine][interval] interval_sql = sql[engine][interval]
where_clause = '{} BETWEEN "{}" and "{}"'.format(date_field, start, end) where_clause = '{} BETWEEN "{}" AND "{}"'.format(date_field, start, end)
aggregate_data = queryset.extra(select={'d': interval_sql}, where=[where_clause]).order_by().values('d').\ aggregate_data = queryset.extra(select={'d': interval_sql}, where=[where_clause]).order_by().values('d').\
annotate(agg=aggregate) annotate(agg=aggregate)
...@@ -182,4 +182,5 @@ def get_time_series_data(queryset, start, end, interval='days', date_field='crea ...@@ -182,4 +182,5 @@ def get_time_series_data(queryset, start, end, interval='days', date_field='crea
value = data.get(dt_key, 0) value = data.get(dt_key, 0)
series.append((dt_key, value,)) series.append((dt_key, value,))
dt_key += relativedelta(**{interval: 1}) dt_key += relativedelta(**{interval: 1})
return series return series
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment