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

Вернуться на верх