summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorJacob Kaplan-Moss <jacob@jacobian.org>2009-04-22 22:16:19 +0000
committerJacob Kaplan-Moss <jacob@jacobian.org>2009-04-22 22:16:19 +0000
commitc00e8d20641910e0fdbce9f155e39b28bb824672 (patch)
treea72a83ac9a6871fcc1a47f24cb63e00229536d64 /django
parentd463580c1bbc17c6180d2f9638768769e850d8d0 (diff)
Added a `QuerySet.ordered` property to check if a queryset is already ordered. Refs #10163.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10623 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
-rw-r--r--django/db/models/query.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/django/db/models/query.py b/django/db/models/query.py
index 9323e9b36b..5567b3227d 100644
--- a/django/db/models/query.py
+++ b/django/db/models/query.py
@@ -615,7 +615,24 @@ class QuerySet(object):
clone = self._clone()
clone.query.add_immediate_loading(fields)
return clone
+
+ ###################################
+ # PUBLIC INTROSPECTION ATTRIBUTES #
+ ###################################
+ def ordered(self):
+ """
+ Returns True if the QuerySet is ordered -- i.e. has an order_by()
+ clause or a default ordering on the model.
+ """
+ if self.query.extra_order_by or self.query.order_by:
+ return True
+ elif self.query.default_ordering and self.query.model._meta.ordering:
+ return True
+ else:
+ return False
+ ordered = property(ordered)
+
###################
# PRIVATE METHODS #
###################