﻿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
33594	"order_by(""field1__-field2"") yields inconsistent behavior"	Thomas Chaumeny	nobody	"In our codebase, someone used `SomeModel.objects.order_by(""foo__-created_at"")` to order according to a foreign key's field and it was working (yielding the correct query with `DESC` order).

However, after we added the following index on `SomeModel`:

{{{
    class Meta:
        indexes = [
            models.Index(fields=[""some_other_field"", ""-created_at""]),
        ]
}}}

The same code `SomeModel.objects.order_by(""foo__-created_at"")` stopped working and started raising an error:

{{{
django.core.exceptions.FieldError: Cannot resolve keyword '-created_at' into field. Choices are: context, created_at, id, tag_readings, updated_at, user_id, warehouse_id
}}}

Shouldn't the pattern for ordering in a descending order with chaining be documented?

According to https://github.com/django/django/blob/main/django/db/models/sql/compiler.py#L402-L403 it should be `-foo__created_at`.
Also, we should expect the wrong pattern to fail unconditionally. "	Bug	new	Database layer (models, ORM)	3.2	Normal				Unreviewed	0	0	0	0	0	0
