From 6a6f9567854b7adea02dc426412cbde5ef302bcc Mon Sep 17 00:00:00 2001 From: Guido Longoni Date: Tue, 4 Jul 2023 12:04:01 +0200 Subject: [PATCH] risolto problema risultati doppi --- django/contatti_app/drilldown_autocomplete.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/django/contatti_app/drilldown_autocomplete.py b/django/contatti_app/drilldown_autocomplete.py index 58d283e..b94a4e0 100644 --- a/django/contatti_app/drilldown_autocomplete.py +++ b/django/contatti_app/drilldown_autocomplete.py @@ -6,7 +6,7 @@ from django.contrib import admin from django.contrib.admin.views.autocomplete import AutocompleteJsonView from django.contrib.admin.widgets import AutocompleteMixin, AutocompleteSelect from django.core.exceptions import FieldDoesNotExist, PermissionDenied -from django.db.models import Case, Q, Value, When +from django.db.models import Case, Max, Q, Value, When from django.http import Http404, JsonResponse from django.urls import path @@ -64,8 +64,8 @@ class DrillDownAutocompleteJsonView(AutocompleteJsonView): # print('Prima:',qs.query,'\n\n') if hasattr(self, 'linkedfields'): drilldown_filter_conditions = Q(**self.drilldown_filter_data) - qs = qs.annotate(ddok=Case(When(drilldown_filter_conditions, then=Value( - 1)), default=Value(0))).order_by('-ddok', *qs.query.order_by) + qs = qs.annotate(ddok=Max(Case(When(drilldown_filter_conditions, then=Value( + 1)), default=Value(0)))).order_by('-ddok', *qs.query.order_by) # print('Dopo:',qs.query,'\n\n') else: qs = qs.annotate(ddok=Value(1))