diff options
Diffstat (limited to 'ishtar_common/views.py')
| -rw-r--r-- | ishtar_common/views.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 4f37a0938..1599c071f 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -526,6 +526,7 @@ def get_autocomplete_generic(model, extra=None): nb = 0 objects = [] has_parent = hasattr(model, "parent") + query_exact = None if not q: q = "" else: @@ -547,8 +548,11 @@ def get_autocomplete_generic(model, extra=None): sort = ["label"] if has_parent: sort = ["parent__label", "label"] + query = model.objects.filter(query) + if query_exact and objects: + query = query.exclude(pk__in=list(query_exact.values_list("pk", flat=True))) objects += list( - model.objects.filter(query).order_by(*sort).distinct()[:limit] + query.order_by(*sort).distinct()[:limit] ) get_label = lambda x: x.full_label() if hasattr(x, "full_label") else str(x) data = json.dumps([{"id": obj.pk, "value": get_label(obj)} for obj in objects]) |
