Author: julien
Date: 2012-01-03 01:06:19 -0800 (Tue, 03 Jan 2012)
New Revision: 17334
Modified:
django/trunk/django/db/models/sql/compiler.py
django/trunk/tests/regressiontests/queries/tests.py
Log:
Fixed #17429 -- Ensured that `Meta.ordering=None` works the same if it were an
empty list. Thanks to self[at]dicos[dot]ru for the report and to bigkevmcd for
the patch.
Modified: django/trunk/django/db/models/sql/compiler.py
===================================================================
--- django/trunk/django/db/models/sql/compiler.py 2012-01-02 21:30:47 UTC
(rev 17333)
+++ django/trunk/django/db/models/sql/compiler.py 2012-01-03 09:06:19 UTC
(rev 17334)
@@ -347,7 +347,9 @@
elif not self.query.default_ordering:
ordering = self.query.order_by
else:
- ordering = self.query.order_by or self.query.model._meta.ordering
+ ordering = (self.query.order_by
+ or self.query.model._meta.ordering
+ or [])
qn = self.quote_name_unless_alias
qn2 = self.connection.ops.quote_name
distinct = self.query.distinct
Modified: django/trunk/tests/regressiontests/queries/tests.py
===================================================================
--- django/trunk/tests/regressiontests/queries/tests.py 2012-01-02 21:30:47 UTC
(rev 17333)
+++ django/trunk/tests/regressiontests/queries/tests.py 2012-01-03 09:06:19 UTC
(rev 17334)
@@ -830,6 +830,17 @@
1
)
+ def test_ticket17429(self):
+ """
+ Ensure that Meta.ordering=None works the same as Meta.ordering=[]
+ """
+ original_ordering = Tag._meta.ordering
+ Tag._meta.ordering = None
+ self.assertQuerysetEqual(
+ Tag.objects.all(),
+ ['<Tag: t1>', '<Tag: t2>', '<Tag: t3>', '<Tag: t4>', '<Tag: t5>'],
+ )
+ Tag._meta.ordering = original_ordering
class Queries2Tests(TestCase):
def setUp(self):
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en.