diff options
Diffstat (limited to 'tests/ordering/tests.py')
| -rw-r--r-- | tests/ordering/tests.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/tests/ordering/tests.py b/tests/ordering/tests.py index 19d289a2d1..027d5f1eb5 100644 --- a/tests/ordering/tests.py +++ b/tests/ordering/tests.py @@ -6,7 +6,7 @@ from operator import attrgetter from django.db.models import F from django.test import TestCase -from .models import Article, Author +from .models import Article, Author, Reference class OrderingTests(TestCase): @@ -307,3 +307,20 @@ class OrderingTests(TestCase): ], attrgetter("headline") ) + + def test_related_ordering_duplicate_table_reference(self): + """ + An ordering referencing a model with an ordering referencing a model + multiple time no circular reference should be detected (#24654). + """ + first_author = Author.objects.create() + second_author = Author.objects.create() + self.a1.author = first_author + self.a1.second_author = second_author + self.a1.save() + self.a2.author = second_author + self.a2.second_author = first_author + self.a2.save() + r1 = Reference.objects.create(article_id=self.a1.pk) + r2 = Reference.objects.create(article_id=self.a2.pk) + self.assertQuerysetEqual(Reference.objects.all(), [r2, r1], lambda x: x) |
