From f87d556ec522677f46c0b2ad76d46314b379c53a Mon Sep 17 00:00:00 2001 From: Allan Lasser Date: Fri, 10 Oct 2025 11:42:04 -0400 Subject: [PATCH] Fixes 500 error when searching add-on runs --- documentcloud/addons/admin.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/documentcloud/addons/admin.py b/documentcloud/addons/admin.py index 7b8db70a..8210ddd3 100644 --- a/documentcloud/addons/admin.py +++ b/documentcloud/addons/admin.py @@ -1,7 +1,7 @@ # Django from django.conf import settings from django.contrib import admin, messages -from django.db.models import JSONField +from django.db.models import JSONField, Q from django.forms import widgets from django.http import HttpResponse from django.http.response import HttpResponseRedirect @@ -125,6 +125,19 @@ class AddOnRunAdmin(admin.ModelAdmin): actions = ["export_runs_as_csv"] readonly_fields = [f.name for f in AddOnRun._meta.fields] + def get_search_results(self, request, queryset, search_term): + """Avoid collation issue when searching add-on runs""" + if search_term: + queryset = queryset.filter( + Q(addon__name__icontains=search_term) + | Q(user__email__icontains=search_term) + | Q(status__icontains=search_term) + ) + use_distinct = False + else: + use_distinct = False + return queryset, use_distinct + def export_runs_as_csv(self, request, queryset): """Export selected Add-On Runs to CSV.""" field_names = [