Skip to content

Commit 619699b

Browse files
authored
Added ReferenceField Search
1 parent e9da9b2 commit 619699b

File tree

1 file changed

+8
-2
lines changed
  • flask_admin/contrib/mongoengine

1 file changed

+8
-2
lines changed

flask_admin/contrib/mongoengine/view.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,8 @@ class MyModelView(BaseModelView):
140140

141141
allowed_search_types = (mongoengine.StringField,
142142
mongoengine.URLField,
143-
mongoengine.EmailField)
143+
mongoengine.EmailField,
144+
mongoengine.ReferenceField)
144145
"""
145146
List of allowed search field types.
146147
"""
@@ -466,7 +467,12 @@ def _search(self, query, search_term):
466467
criteria = None
467468

468469
for field in self._search_fields:
469-
flt = {'%s__%s' % (field.name, op): term}
470+
if type(field) == mongoengine.ReferenceField:
471+
import re
472+
regex = re.compile('.*%s.*' % term)
473+
else:
474+
regex = term
475+
flt = {'%s__%s' % (field.name, op): regex}
470476
q = mongoengine.Q(**flt)
471477

472478
if criteria is None:

0 commit comments

Comments
 (0)