diff options
| author | Jacob Kaplan-Moss <jacob@jacobian.org> | 2009-04-22 22:16:19 +0000 |
|---|---|---|
| committer | Jacob Kaplan-Moss <jacob@jacobian.org> | 2009-04-22 22:16:19 +0000 |
| commit | c00e8d20641910e0fdbce9f155e39b28bb824672 (patch) | |
| tree | a72a83ac9a6871fcc1a47f24cb63e00229536d64 /django | |
| parent | d463580c1bbc17c6180d2f9638768769e850d8d0 (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.py | 17 |
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 # ################### |
