some news optimizations

This commit is contained in:
Kuroshini 2020-01-16 11:19:32 +03:00
parent de3933aa88
commit 0b261330e6

View File

@ -78,7 +78,7 @@ class NewsQuerySet(TranslationQuerysetMixin):
def with_base_related(self): def with_base_related(self):
"""Return qs with related objects.""" """Return qs with related objects."""
return self.select_related('news_type', 'country').prefetch_related('tags', 'tags__translation') return self.select_related('news_type', 'country').prefetch_related('tags', 'tags__translation', 'gallery')
def with_extended_related(self): def with_extended_related(self):
"""Return qs with related objects.""" """Return qs with related objects."""
@ -306,8 +306,9 @@ class News(GalleryMixin, BaseAttributes, TranslatedFieldsMixin, HasTagsMixin,
@property @property
def main_image(self): def main_image(self):
qs = self.news_gallery.main_image() qs = self.news_gallery.main_image()
if qs.exists(): image_model = qs.order_by('-id').first()
return qs.order_by('-id').first().image if image_model is not None:
return image_model.image
@property @property
def image_url(self): def image_url(self):