summaryrefslogtreecommitdiff
path: root/tests/ordering/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ordering/tests.py')
-rw-r--r--tests/ordering/tests.py19
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)