Django запрос (select, count where)
Я пытаюсь воссоздать следующий sql-запрос в django ORM
CASE WHEN
(SELECT COUNT(id) FROM offer WHERE offer.product_id = p.id) < 1
THEN
'[]'::JSONB
ELSE
(
SELECT
JSON_AGG(JSON_BUILD_OBJECT('name', o_sub.name, 'status', o_sub.status))
FROM offer o_sub
WHERE o_sub.product_id = p.id
LIMIT 2 -- TWO IN PREVIEW LIST.
)::JSONB
END AS _offers
Но я не смог сделать это до сих пор У меня было что-то вроде этого:
merchant_offers=Case(
When(
number_of_offers__lt=1 , then=JSONObject(
offer_name="offers__name",
offer_value="offers__merchant_group_fees__value"
)
),
)
Но я не знаю, как сделать второй запрос, тот, который с JSON_AGG