summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2011-01-26 03:34:16 +0000
committerAlex Gaynor <alex.gaynor@gmail.com>2011-01-26 03:34:16 +0000
commit561af6417e1c8232904b726fb0219cc0b7c2e71d (patch)
tree0e573383b5df637013ecacb3bb184259aabca4cb
parentb4bf635cea92318e34d997cc614e7ff8233d015b (diff)
Fixed #13828 -- DRY'd up the dictsort(reversed) filters, will speed them up as well.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15316 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/template/defaultfilters.py11
1 files changed, 2 insertions, 9 deletions
diff --git a/django/template/defaultfilters.py b/django/template/defaultfilters.py
index 8fabef642f..b2aa38e50a 100644
--- a/django/template/defaultfilters.py
+++ b/django/template/defaultfilters.py
@@ -460,10 +460,7 @@ def dictsort(value, arg):
Takes a list of dicts, returns that list sorted by the property given in
the argument.
"""
- var_resolve = Variable(arg).resolve
- decorated = [(var_resolve(item), item) for item in value]
- decorated.sort()
- return [item[1] for item in decorated]
+ return sorted(value, key=Variable(arg).resolve)
dictsort.is_safe = False
def dictsortreversed(value, arg):
@@ -471,11 +468,7 @@ def dictsortreversed(value, arg):
Takes a list of dicts, returns that list sorted in reverse order by the
property given in the argument.
"""
- var_resolve = Variable(arg).resolve
- decorated = [(var_resolve(item), item) for item in value]
- decorated.sort()
- decorated.reverse()
- return [item[1] for item in decorated]
+ return sorted(value, key=Variable(arg).resolve, reverse=True)
dictsortreversed.is_safe = False
def first(value):