summaryrefslogtreecommitdiff
path: root/django/db/models/fields
diff options
context:
space:
mode:
authorCarlton Gibson <carlton.gibson@noumenal.es>2019-10-31 11:34:56 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-11-04 08:15:03 +0100
commitdd2ca8b0ea46a56aced70c46dc7283cf0cab5bef (patch)
treefb100181f00fa64ceff03ef342435446b75474ab /django/db/models/fields
parent0644b73e853864edde9a4d9d7b8dad71a317af58 (diff)
[3.0.x] Fixed #30931 -- Restored ability to override Model.get_FIELD_display().
Thanks Sergey Fedoseev for the implementation idea. Regression in a68ea231012434b522ce45c513d84add516afa60. Backport of 2d38eb0ab9f78d68c083a5b78b1eca39027b279a from master
Diffstat (limited to 'django/db/models/fields')
-rw-r--r--django/db/models/fields/__init__.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py
index d073324745..37b0045ef3 100644
--- a/django/db/models/fields/__init__.py
+++ b/django/db/models/fields/__init__.py
@@ -767,8 +767,12 @@ class Field(RegisterLookupMixin):
if not getattr(cls, self.attname, None):
setattr(cls, self.attname, self.descriptor_class(self))
if self.choices is not None:
- setattr(cls, 'get_%s_display' % self.name,
- partialmethod(cls._get_FIELD_display, field=self))
+ if not hasattr(cls, 'get_%s_display' % self.name):
+ setattr(
+ cls,
+ 'get_%s_display' % self.name,
+ partialmethod(cls._get_FIELD_display, field=self),
+ )
def get_filter_kwargs_for_object(self, obj):
"""