From bdba52185c73bdceef411637065156a29195c689 Mon Sep 17 00:00:00 2001 From: j Date: Fri, 26 Feb 2016 11:21:16 +0530 Subject: [PATCH] use text() for autocomplete --- oml/item/api.py | 5 +++-- oml/item/query.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/oml/item/api.py b/oml/item/api.py index 8599de9..64cce9f 100644 --- a/oml/item/api.py +++ b/oml/item/api.py @@ -6,6 +6,7 @@ import os import unicodedata from sqlalchemy.orm import load_only +from sqlalchemy.sql.expression import text from sqlalchemy import func from oxtornado import actions @@ -195,10 +196,10 @@ def autocomplete(data): if order_by: for o in order_by: if o['operator'] != '-': o['operator'] = '' - order_by = ['%(operator)ssort.%(key)s' % o for o in order_by] + order_by = [text('%(operator)ssort.%(key)s' % o) for o in order_by] add_itemsort = True else: - order_by = ['-items'] + order_by = [text('-items')] items = query.parse({'query': data.get('query', {})})['qs'].options(load_only('id')) qs = state.db.session.query(models.Find.value, func.count(models.Find.value).label('items')) diff --git a/oml/item/query.py b/oml/item/query.py index d6fc12b..195563e 100644 --- a/oml/item/query.py +++ b/oml/item/query.py @@ -4,6 +4,7 @@ #does not work in sqlite #from sqlalchemy.sql.expression import nullslast +from sqlalchemy.sql.expression import text from . import models import settings @@ -24,7 +25,6 @@ def parse(data): return query def order(qs, sort, prefix='sort.'): - from sqlalchemy.sql.expression import text order_by = [] if len(sort) == 1: additional_sort = settings.config['user']['ui']['listSort']