Исправить загрузку главного фото в каталоге
- Изменен prefetch для главного фото товаров и комплектов - Теперь берется первое фото по ordering вместо фильтра is_main=True - Это обеспечивает отображение фото даже если is_main не установлен
This commit is contained in:
@@ -35,10 +35,12 @@ class CatalogView(LoginRequiredMixin, ListView):
|
|||||||
total_available = Coalesce(Sum('stocks__quantity_available'), Value(0), output_field=DecimalField())
|
total_available = Coalesce(Sum('stocks__quantity_available'), Value(0), output_field=DecimalField())
|
||||||
total_reserved = Coalesce(Sum('stocks__quantity_reserved'), Value(0), output_field=DecimalField())
|
total_reserved = Coalesce(Sum('stocks__quantity_reserved'), Value(0), output_field=DecimalField())
|
||||||
|
|
||||||
# Prefetch только главного фото для товаров (is_main=True)
|
# Prefetch главного фото для товаров
|
||||||
|
# Берем первое фото по ordering (is_main=True будет первым, если есть)
|
||||||
|
# Это работает даже если is_main не установлен
|
||||||
main_product_photo = Prefetch(
|
main_product_photo = Prefetch(
|
||||||
'photos',
|
'photos',
|
||||||
queryset=ProductPhoto.objects.filter(is_main=True),
|
queryset=ProductPhoto.objects.all()[:1],
|
||||||
to_attr='main_photo_list'
|
to_attr='main_photo_list'
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -51,10 +53,11 @@ class CatalogView(LoginRequiredMixin, ListView):
|
|||||||
total_reserved=total_reserved,
|
total_reserved=total_reserved,
|
||||||
).order_by('name')
|
).order_by('name')
|
||||||
|
|
||||||
# Prefetch только главного фото для комплектов (is_main=True)
|
# Prefetch главного фото для комплектов
|
||||||
|
# Берем первое фото по ordering (is_main=True будет первым, если есть)
|
||||||
main_kit_photo = Prefetch(
|
main_kit_photo = Prefetch(
|
||||||
'photos',
|
'photos',
|
||||||
queryset=ProductKitPhoto.objects.filter(is_main=True),
|
queryset=ProductKitPhoto.objects.all()[:1],
|
||||||
to_attr='main_photo_list'
|
to_attr='main_photo_list'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user