summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Phalip <jphalip@gmail.com>2012-01-03 09:06:19 +0000
committerJulien Phalip <jphalip@gmail.com>2012-01-03 09:06:19 +0000
commitc93933441e77cefbcb354196bda9a29b7e75df18 (patch)
tree7e9c28aa73252058ad50d1a8f875aa965b72c9cc
parent31b1cbc623c246570e7301c0334df938d840638f (diff)
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.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17334 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/db/models/sql/compiler.py4
-rw-r--r--tests/regressiontests/queries/tests.py11
2 files changed, 14 insertions, 1 deletions
diff --git a/django/db/models/sql/compiler.py b/django/db/models/sql/compiler.py
index b6047febae..72948f9cd7 100644
--- a/django/db/models/sql/compiler.py
+++ b/django/db/models/sql/compiler.py
@@ -347,7 +347,9 @@ class SQLCompiler(object):
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
diff --git a/tests/regressiontests/queries/tests.py b/tests/regressiontests/queries/tests.py
index 8e9705e9f7..ded3e8ffa7 100644
--- a/tests/regressiontests/queries/tests.py
+++ b/tests/regressiontests/queries/tests.py
@@ -830,6 +830,17 @@ class Queries1Tests(BaseQuerysetTest):
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):