but the out put is empty!
if i remove order_by('?') it works, and the same for the
filter(product_count__gt=1).
I get the SQL from connection.queries:
SELECT ..., COUNT("nakhll_market_product"."ID") AS "product_count" FROM
"nakhll_market_shop" LEFT OUTER JOIN "nakhll_market_product" ON
("nakhll_market_shop"."ID" = "nakhll_market_product"."FK_Shop_id") GROUP
BY "nakhll_market_shop"."ID", RANDOM() HAVING
COUNT("nakhll_market_product"."ID") > 1 ORDER BY RANDOM() ASC
but this SQL works correctly:
SELECT
... ,
COUNT("nakhll_market_product"."ID") AS "product_count"
FROM "nakhll_market_shop"
LEFT OUTER JOIN
"nakhll_market_product" ON ("nakhll_market_shop"."ID" =
"nakhll_market_product"."FK_Shop_id")
WHERE ("nakhll_market_shop"."Available" AND
"nakhll_market_shop"."Publish")
GROUP BY "nakhll_market_shop"."ID" HAVING
COUNT("nakhll_market_product"."ID") > 1
ORDER BY RANDOM()
--
Ticket URL: <https://code.djangoproject.com/ticket/32963>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
Old description:
New description:
--
--
Ticket URL: <https://code.djangoproject.com/ticket/32963#comment:1>
Old description:
> I have a query like:
New description:
--
--
Ticket URL: <https://code.djangoproject.com/ticket/32963#comment:2>
Comment (by likecodeingloveproblems):
The difference is here:
ORM:
GROUP BY "nakhll_market_shop"."ID" **, RANDOM()** HAVING
COUNT("nakhll_market_product"."ID") > 1 ORDER BY RANDOM()
CORRECT:
GROUP BY "nakhll_market_shop"."ID" HAVING
COUNT("nakhll_market_product"."ID") > 1 ORDER BY RANDOM()
--
Ticket URL: <https://code.djangoproject.com/ticket/32963#comment:3>
* status: new => closed
* resolution: => duplicate
Comment:
Duplicate of #26390 (fixed in Django 3.2).
--
Ticket URL: <https://code.djangoproject.com/ticket/32963#comment:4>