Как использовать select_related или prefetch_related с @property?
У меня есть модель с пользовательским свойством:
class Product(models.Model):
name = models.CharField(_('Name'), max_length=255)
[...]
@property
def price(self):
return (self.price_line_product.filter(table__standard=True,
table__client=self.client)
.first().price)
Свойство price будет искать нужные данные в другой таблице.
price_line_product для доступа к ней используется имя related_name.
Работает нормально, но у меня много SQL-запросов, которые выполняются.
Я попытался в своем представлении добавить prefetch_related:
Product.objects.filter(deleted=False).prefetch_related('price_line_product')
Django не возвращает никакой ошибки, но и не изменяет количество запросов.
Как заставить ORM не делать дублирующие запросы?