Unverified Commit 725d4ba2 authored by Charles Gorintin's avatar Charles Gorintin Committed by GitHub

Fixing ajax casting

Right now, Ajax was not able to search for an integer for example. It was a problem for id fields.
This makes sure ILIKE will work with such field.
parent ee59ae51
from sqlalchemy import or_, and_
from sqlalchemy import or_, and_, cast
from sqlalchemy.types import String
from flask_admin._compat import as_unicode, string_types
from flask_admin.model.ajax import AjaxModelLoader, DEFAULT_PAGE_SIZE
......@@ -65,7 +66,7 @@ class QueryAjaxModelLoader(AjaxModelLoader):
def get_list(self, term, offset=0, limit=DEFAULT_PAGE_SIZE):
query = self.session.query(self.model)
filters = (field.ilike(u'%%%s%%' % term) for field in self._cached_fields)
filters = (cast(field, String).ilike(u'%%%s%%' % term) for field in self._cached_fields)
query = query.filter(or_(*filters))
if self.filters:
......
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