summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/model_inheritance/models.py2
-rw-r--r--tests/model_inheritance/tests.py15
2 files changed, 16 insertions, 1 deletions
diff --git a/tests/model_inheritance/models.py b/tests/model_inheritance/models.py
index a4f9cfe696..58c076d536 100644
--- a/tests/model_inheritance/models.py
+++ b/tests/model_inheritance/models.py
@@ -181,6 +181,8 @@ class GrandParent(models.Model):
place = models.ForeignKey(Place, models.CASCADE, null=True, related_name='+')
class Meta:
+ # Ordering used by test_inherited_ordering_pk_desc.
+ ordering = ['-pk']
unique_together = ('first_name', 'last_name')
diff --git a/tests/model_inheritance/tests.py b/tests/model_inheritance/tests.py
index 4252f3a301..3568c538f0 100644
--- a/tests/model_inheritance/tests.py
+++ b/tests/model_inheritance/tests.py
@@ -7,7 +7,7 @@ from django.test.utils import CaptureQueriesContext, isolate_apps
from .models import (
Base, Chef, CommonInfo, GrandChild, GrandParent, ItalianRestaurant,
- MixinModel, ParkingLot, Place, Post, Restaurant, Student, SubBase,
+ MixinModel, Parent, ParkingLot, Place, Post, Restaurant, Student, SubBase,
Supplier, Title, Worker,
)
@@ -204,6 +204,19 @@ class ModelInheritanceTests(TestCase):
self.assertEqual(A.attr.called, (A, 'attr'))
+ def test_inherited_ordering_pk_desc(self):
+ p1 = Parent.objects.create(first_name='Joe', email='joe@email.com')
+ p2 = Parent.objects.create(first_name='Jon', email='jon@email.com')
+ expected_order_by_sql = 'ORDER BY %s.%s DESC' % (
+ connection.ops.quote_name(Parent._meta.db_table),
+ connection.ops.quote_name(
+ Parent._meta.get_field('grandparent_ptr').column
+ ),
+ )
+ qs = Parent.objects.all()
+ self.assertSequenceEqual(qs, [p2, p1])
+ self.assertIn(expected_order_by_sql, str(qs.query))
+
class ModelInheritanceDataTests(TestCase):
@classmethod