From 861d44da98feebb49b4e85ea02e306f08a4a0f4f Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Fri, 19 Jan 2024 02:44:59 -0800 Subject: [PATCH] fix sorting by Size or by Files to sort by number of archive results --- archivebox/core/admin.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/archivebox/core/admin.py b/archivebox/core/admin.py index c4974c3a..76398d18 100644 --- a/archivebox/core/admin.py +++ b/archivebox/core/admin.py @@ -6,6 +6,7 @@ from contextlib import redirect_stdout from datetime import datetime, timezone from django.contrib import admin +from django.db.models import Count from django.urls import path from django.utils.html import format_html from django.utils.safestring import mark_safe @@ -105,7 +106,7 @@ class SnapshotAdmin(SearchResultsAdminMixin, admin.ModelAdmin): def get_queryset(self, request): self.request = request - return super().get_queryset(request).prefetch_related('tags') + return super().get_queryset(request).prefetch_related('tags').annotate(archiveresult_count=Count('archiveresult')) def tag_list(self, obj): return ', '.join(obj.tags.values_list('name', flat=True)) @@ -187,7 +188,7 @@ class SnapshotAdmin(SearchResultsAdminMixin, admin.ModelAdmin): def files(self, obj): return snapshot_icons(obj) - files.admin_order_field = 'updated' + files.admin_order_field = 'archiveresult_count' files.short_description = 'Files Saved' def size(self, obj): @@ -204,7 +205,7 @@ class SnapshotAdmin(SearchResultsAdminMixin, admin.ModelAdmin): size_txt, ) - size.admin_order_field = 'archiveresult__count' + size.admin_order_field = 'archiveresult_count' def url_str(self, obj): return format_html(