diff options
| author | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2009-02-28 03:02:52 +0000 |
|---|---|---|
| committer | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2009-02-28 03:02:52 +0000 |
| commit | 106bd0f49ebbc0cf2d20a06082f552c71346fa0e (patch) | |
| tree | 79d3db44609326999d3f28e2ea5b569b7223bed2 /tests | |
| parent | 7fdd26c582f7fa0472322591ba1bb78d91975948 (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.py | 26 |
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') |
