﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
34005	In Django 3.2 the ORM looses Meta.ordering default order when .annotate is used	Pieter Zieschang	nobody	"Hi,
I've upgraded from 2.2 to 3.2.15 and now default ordering specified in the Model does not work anymore if i annotate the QuerySet.
I suspect this is a ORM Bug, as the ordering / default order is not in the query anymore since the update to 3.2.


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.
"	Bug	closed	Database layer (models, ORM)	3.2	Normal	invalid	orm Meta Options.ordering annotate		Unreviewed	0	0	0	0	0	0
