From dd2ca8b0ea46a56aced70c46dc7283cf0cab5bef Mon Sep 17 00:00:00 2001 From: Carlton Gibson Date: Thu, 31 Oct 2019 11:34:56 +0100 Subject: [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 --- tests/model_fields/tests.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'tests') diff --git a/tests/model_fields/tests.py b/tests/model_fields/tests.py index abc5273d90..e399f68134 100644 --- a/tests/model_fields/tests.py +++ b/tests/model_fields/tests.py @@ -168,6 +168,16 @@ class GetFieldDisplayTests(SimpleTestCase): self.assertIsInstance(val, str) self.assertEqual(val, 'translated') + def test_overriding_FIELD_display(self): + class FooBar(models.Model): + foo_bar = models.IntegerField(choices=[(1, 'foo'), (2, 'bar')]) + + def get_foo_bar_display(self): + return 'something' + + f = FooBar(foo_bar=1) + self.assertEqual(f.get_foo_bar_display(), 'something') + def test_iterator_choices(self): """ get_choices() works with Iterators. -- cgit v1.3