From 6a3ca2a79a2831191c62ea1c8fdff0c0f03149bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20Kolari=C4=87?= Date: Sun, 5 Aug 2018 21:07:22 +0200 Subject: [PATCH] query optimization on Work --- music_publisher/admin.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/music_publisher/admin.py b/music_publisher/admin.py index 331c1d03..1cc64aab 100644 --- a/music_publisher/admin.py +++ b/music_publisher/admin.py @@ -256,6 +256,14 @@ def duration(self, obj): 'work_id', 'title', 'iswc', 'writer_last_names', 'percentage_controlled', 'duration', 'isrc', 'album_cd', '_cwr') + def get_queryset(self, request): + qs = super().get_queryset(request) + qs = qs.prefetch_related('writerinwork_set') + qs = qs.prefetch_related('writers') + qs = qs.prefetch_related('firstrecording__album_cd') + return qs + + class HasISRCListFilter(admin.SimpleListFilter): title = 'Has ISWC' parameter_name = 'has_iswc'