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.

Reply via email to