From 82da72b74851808c08ec98fe609efe52609f29ad Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Wed, 17 Jun 2020 10:32:43 +0200 Subject: [PATCH] Refs #28077 -- Added opclasses to Index.__repr__(). This also removes unnecessary commas between attributes. --- django/db/models/indexes.py | 7 ++++--- tests/model_indexes/tests.py | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/django/db/models/indexes.py b/django/db/models/indexes.py index 0662006404..f0f6cdab15 100644 --- a/django/db/models/indexes.py +++ b/django/db/models/indexes.py @@ -123,10 +123,11 @@ class Index: self.name = 'D%s' % self.name[1:] def __repr__(self): - return "<%s: fields='%s'%s%s>" % ( + return "<%s: fields='%s'%s%s%s>" % ( self.__class__.__name__, ', '.join(self.fields), - '' if self.condition is None else ', condition=%s' % self.condition, - '' if not self.include else ", include='%s'" % ', '.join(self.include), + '' if self.condition is None else ' condition=%s' % self.condition, + '' if not self.include else " include='%s'" % ', '.join(self.include), + '' if not self.opclasses else " opclasses='%s'" % ', '.join(self.opclasses), ) def __eq__(self, other): diff --git a/tests/model_indexes/tests.py b/tests/model_indexes/tests.py index ff3c6c73c7..93ac47130a 100644 --- a/tests/model_indexes/tests.py +++ b/tests/model_indexes/tests.py @@ -22,12 +22,22 @@ class SimpleIndexesTests(SimpleTestCase): name='include_idx', include=['author', 'pages'], ) + opclasses_index = models.Index( + fields=['headline', 'body'], + name='opclasses_idx', + opclasses=['varchar_pattern_ops', 'text_pattern_ops'], + ) self.assertEqual(repr(index), "") self.assertEqual(repr(multi_col_index), "") - self.assertEqual(repr(partial_index), "") + self.assertEqual(repr(partial_index), "") self.assertEqual( repr(covering_index), - "", + "", + ) + self.assertEqual( + repr(opclasses_index), + "", ) def test_eq(self):