diff options
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r-- | ishtar_common/views_item.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index 000b17a33..80975eb0a 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -1101,7 +1101,7 @@ def _format_geojson(rows, link_template): return data -def _get_data_from_query(items, query_table_cols, request, extra_request_keys, +def _get_data_from_query(items, query_table_cols, extra_request_keys, point_field=None): for query_keys in query_table_cols: if not isinstance(query_keys, (tuple, list)): @@ -1615,7 +1615,6 @@ def get_item(model, func_name, default_name, extra_request_keys=None, for extra in extras: items = items.extra(**extra) - items = items.distinct() items_nb = items.values('id').aggregate(Count('id'))['id__count'] @@ -1784,8 +1783,11 @@ def get_item(model, func_name, default_name, extra_request_keys=None, if data_type == 'json-map': point_field = query_table_cols.pop() datas = _get_data_from_query( - items, query_table_cols, request, my_extra_request_keys, + items, query_table_cols, my_extra_request_keys, point_field=point_field) + elif getattr(model, "NEW_QUERY_ENGINE", False): + datas = _get_data_from_query( + items, query_table_cols, my_extra_request_keys) else: datas = _get_data_from_query_old( items, query_table_cols, request, my_extra_request_keys, @@ -1851,6 +1853,10 @@ def get_item(model, func_name, default_name, extra_request_keys=None, k = "__".join(tab_cols) if hasattr(model, 'COL_LINK') and k in model.COL_LINK: value = link_ext_template.format(value, value) + if isinstance(value, datetime.date): + value = value.strftime('%Y-%m-%d') + if isinstance(value, datetime.datetime): + value = value.strftime('%Y-%m-%d %H:%M:%S') res[k] = value if full == 'shortcut': if 'cached_label' in res: |