summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2009-02-28 03:02:52 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2009-02-28 03:02:52 +0000
commit106bd0f49ebbc0cf2d20a06082f552c71346fa0e (patch)
tree79d3db44609326999d3f28e2ea5b569b7223bed2 /tests
parent7fdd26c582f7fa0472322591ba1bb78d91975948 (diff)
[1.0.X] Fixed #10028 -- Fixed a problem when ordering by related models.
Some results were inadvertently being excluded if we were ordering across a nullable relation which itself ordering by a non-nullable relation. Backport of r9916 from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.0.X@9917 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r--tests/regressiontests/queries/models.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/regressiontests/queries/models.py b/tests/regressiontests/queries/models.py
index 50d81479a5..eb4db0cd19 100644
--- a/tests/regressiontests/queries/models.py
+++ b/tests/regressiontests/queries/models.py
@@ -237,6 +237,32 @@ class PointerA(models.Model):
class PointerB(models.Model):
connection = models.ForeignKey(SharedConnection)
+# Multi-layer ordering
+class SingleObject(models.Model):
+ name = models.CharField(max_length=10)
+
+ class Meta:
+ ordering = ['name']
+
+ def __unicode__(self):
+ return self.name
+
+class RelatedObject(models.Model):
+ single = models.ForeignKey(SingleObject)
+
+ class Meta:
+ ordering = ['single']
+
+class Plaything(models.Model):
+ name = models.CharField(max_length=10)
+ others = models.ForeignKey(RelatedObject, null=True)
+
+ class Meta:
+ ordering = ['others']
+
+ def __unicode__(self):
+ return self.name
+
__test__ = {'API_TESTS':"""
>>> t1 = Tag.objects.create(name='t1')