Product class:
{{{
class Product(models.Model):
...
class Meta:
ordering = ["name"]
}}}
Default ordering is working nicely without annotate ... see ORDER BY
{{{
>>> print(Product.objects.all().select_related("category").query)
SELECT "memberapp_product"."id", [...] FROM "memberapp_product" INNER
JOIN "memberapp_productcategory" ON ("memberapp_product"."category_id" =
"memberapp_productcategory"."id") ORDER BY "memberapp_product"."name" ASC
}}}
but not anymore when annotate (with a special sum) is used - no ORDER BY
anymore in the query:
{{{
>>>
print(Product.objects.all().select_related("category").annotate(**kwargs).query)
SELECT "memberapp_product"."id", [...] LEFT OUTER JOIN
"memberapp_appointment" ON
("memberapp_appointmentattendee"."appointment_id" =
"memberapp_appointment"."id") INNER JOIN "memberapp_productcategory" ON
("memberapp_product"."category_id" = "memberapp_productcategory"."id")
GROUP BY "memberapp_product"."id", "memberapp_productcategory"."id"
}}}
Since it's been working before i would expect something in the ORM looses
the order by in complex queries using annotate.
Thanks for looking into this.
--
Ticket URL: <https://code.djangoproject.com/ticket/34005>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
Old description:
New description:
Hi,
I've upgraded from 2.2 to 3.2.15 and now default ordering specified in the
--
--
Ticket URL: <https://code.djangoproject.com/ticket/34005#comment:1>
* status: new => closed
* resolution: => invalid
Comment:
Model `Meta.ordering` affecting GROUP BY queries was
[https://docs.djangoproject.com/en/dev/releases/2.2/#model-meta-ordering-
will-no-longer-affect-group-by-queries deprecated in Django 2.2] and
removed in Django 3.1.
--
Ticket URL: <https://code.djangoproject.com/ticket/34005#comment:2>