From 0dc39ca8677347ecf25aebd056a130cdbfb8df21 Mon Sep 17 00:00:00 2001 From: Hasan Ramezani Date: Fri, 27 Sep 2019 12:16:26 +0200 Subject: [3.0.x] Fixed #30798 -- Fixed Meta.ordering validation for pk of related fields. Regression in 440505cb2cadbe1a5b9fba246bcde6c04f51d07e. Backport of 95a11578ce41de1e152fe7d173f109e280aebd6d from master --- django/db/models/base.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'django') diff --git a/django/db/models/base.py b/django/db/models/base.py index fe3d84677a..0b8425aa85 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -1708,7 +1708,11 @@ class Model(metaclass=ModelBase): fld = None for part in field.split(LOOKUP_SEP): try: - fld = _cls._meta.get_field(part) + # pk is an alias that won't be found by opts.get_field. + if part == 'pk': + fld = _cls._meta.pk + else: + fld = _cls._meta.get_field(part) if fld.is_relation: _cls = fld.get_path_info()[-1].to_opts.model else: -- cgit v1.3