получить последние данные по артикулу на макс дату по нему же )
max_date = WB_Stocks.objects.filter(sku__article='1106295').aggregate(md=Max('dateOfStock'))
qs = WB_Stocks.objects.filter(sku__article="1106295", dateOfStock=max_date['md'])
Что в целом соответствует RAW запросу
select
stocks.*,
ms.title,
ms.article
from marketplace_wb_stocks stocks
left join marketplace_sku ms on ms.id = stocks.sku_id
where stocks."dateOfStock" = (
select Max("dateOfStock")
from marketplace_wb_stocks
)
and ms.article = '1106295'
Теперь вопрос, можно ли через ORM сделать это одной строкой ? Через агрегацию или анотацию ?
а ты ожидал что орм даст тебе какие-то возможности которых нет у sql?) raw запрос писать всегда дольше и менее удобно и имеет смысл только тогда, когда это нельзя сделать через орм.
Нет, не ожидал, просто решил уточнить, можно ли сделать проще чем я =) Услышал о том, о чем понял до вопроса. Только через саб запрос =)
Обсуждают сегодня