﻿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
34012	QuerySet.order_by() silently skips non-existing fields on related fields with Meta.ordering.	Klaas van Schelven	David Sanders	"Compare the following desirable behavior:

{{{
>>> SomeModel.objects.all().order_by(""non_existing_field"")

Traceback (most recent call last):
  File ""<console>"", line 1, in <module>
  File ""......lib/python3.10/site-packages/django/db/models/query.py"", line 1149, in order_by
    obj.query.add_ordering(*field_names)
  File ""......lib/python3.10/site-packages/django/db/models/sql/query.py"", line 2016, in add_ordering
    self.names_to_path(item.split(LOOKUP_SEP), self.model._meta)
  File ""......lib/python3.10/site-packages/django/db/models/sql/query.py"", line 1562, in names_to_path
    raise FieldError(""Cannot resolve keyword '%s' into field. ""

django.core.exceptions.FieldError: Cannot resolve keyword 'non_existing_field' into field. Choices are: [redacted]
}}}

with the following undesirable behavior:

{{{
>>> SomeModel.objects.all().order_by(""some_foreign_key__non_existing_field"")
<QuerySet .... [ i.e. shows some results ]
}}}"	Cleanup/optimization	closed	Database layer (models, ORM)	4.1	Normal	fixed		David Sanders	Ready for checkin	1	0	0	0	0	0
