optimized recipe search query annotation performance

This commit is contained in:
vabene1111
2022-09-16 13:24:57 +02:00
parent e06c82297d
commit 845408244b
2 changed files with 12 additions and 26 deletions

View File

@@ -115,6 +115,10 @@ class RecipeSearch():
def get_queryset(self, queryset):
self._queryset = queryset
self._queryset = self._queryset.prefetch_related('keywords')
self._queryset = self._queryset.annotate(rating=Avg('cooklog__rating'))
self._queryset = self._queryset.annotate(last_cooked=Max('cooklog__created_at'))
self._build_sort_order()
self._recently_viewed(num_recent=self._num_recent)
self._cooked_on_filter(cooked_date=self._cookedon)