Дублируется запрос к БД в Django, не могу найти из какого места
Не могу понять из какого места улетает повторный запрос
models
class Product(models.Model):
name = models.CharField(max_length=150, db_index=True,
verbose_name='Название')
slug = models.SlugField(max_length=150, db_index=True)
price = models.DecimalField(max_digits=10, decimal_places=2,
verbose_name='Цена')
category = models.ForeignKey(Category,
related_name='category',
null=True,
blank=True,
verbose_name='Категория',
on_delete=models.CASCADE,
)
sales = models.ManyToManyField(Sale,
related_name='sales',
verbose_name='Скидка',
blank=True
)
class Sale(models.Model):
name = models.CharField(max_length=150)
description = models.CharField(max_length=255)
percent = models.IntegerField(verbose_name='Процент')
class Meta:
ordering = ('name', 'percent')
verbose_name = 'Скидка'
verbose_name_plural = 'Скидки'
def __str__(self):
return self.name
serializers
class ProductSerializer(serializers.ModelSerializer):
manufacturer = ManufacturerSerializer(read_only=True)
category = CategorySerializer(read_only=True)
sales = SaleSerializer(many=True, read_only=True)
attributes = AttributeSerializer(many=True, read_only=True)
class Meta:
model = Product
fields = ['slug', 'name', 'price', 'sales',
'manufacturer', 'category', 'attributes',
'is_new', 'is_recomended']
lookup_field = 'slug'
class CategorySerializer(serializers.ModelSerializer):
class Meta:
model = Category
fields = ['name', 'parental_category']
view
class ProductsBySales(ListAPIView):
serializer_class = ProductSerializer
filterset_fields = ['category']
def get_queryset(self):
return Product.objects.prefetch_related('sales', 'attributes').select_related('category', 'manufacturer',).exclude(sales=None)
