1
0
Fork 0

Improve performance of MessageAdmin (#286)

This commit is contained in:
Pascal Fouque 2024-04-10 12:50:07 +02:00 committed by GitHub
commit 130a0f5499
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -9,6 +9,7 @@ import logging
from django.conf import settings from django.conf import settings
from django.contrib import admin from django.contrib import admin
from django.db.models import Count
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from django_mailbox.models import MessageAttachment, Message, Mailbox from django_mailbox.models import MessageAttachment, Message, Mailbox
@ -60,8 +61,11 @@ class MessageAttachmentInline(admin.TabularInline):
class MessageAdmin(admin.ModelAdmin): class MessageAdmin(admin.ModelAdmin):
def get_queryset(self, *args, **kwargs):
return super().get_queryset(*args, **kwargs).annotate(num_attachments=Count('attachements'))
def attachment_count(self, msg): def attachment_count(self, msg):
return msg.attachments.count() return msg.num_attachments
attachment_count.short_description = _('Attachment count') attachment_count.short_description = _('Attachment count')