From 3aeb1bff3f93600b4722220b816b373f17ef078d Mon Sep 17 00:00:00 2001 From: Erwan Rouchet <rouchet@teklia.com> Date: Fri, 22 Mar 2019 14:14:40 +0000 Subject: [PATCH] Optimize requests in Django admin for DataImports --- arkindex/dataimport/admin.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arkindex/dataimport/admin.py b/arkindex/dataimport/admin.py index 12e80c301d..166cec02d7 100644 --- a/arkindex/dataimport/admin.py +++ b/arkindex/dataimport/admin.py @@ -1,4 +1,5 @@ from django.contrib import admin +from django.db.models import Max from enumfields.admin import EnumFieldListFilter from arkindex.dataimport.models import DataImport, DataFile, Repository, Revision @@ -14,6 +15,11 @@ class DataImportAdmin(admin.ModelAdmin): readonly_fields = ('id', 'workflow', 'state') inlines = [DataFileInline, ] + def get_queryset(self, *args, **kwargs): + return super().get_queryset(*args, **kwargs) \ + .prefetch_related('workflow__tasks') \ + .annotate(last_run=Max('workflow__tasks__run')) + class DataFileAdmin(admin.ModelAdmin): list_display = ('id', 'name', 'corpus') -- GitLab