diff options
| author | Baptiste Mispelon <bmispelon@gmail.com> | 2016-08-26 11:39:06 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-08-26 16:59:21 -0400 |
| commit | 61b45dff6be3a2c85adac73acf5fe0de71f9ecda (patch) | |
| tree | 861f107b2ff26cee60e1970c320d6d929bc25767 /django | |
| parent | 7968bb7fada503b79d8b0e8c92aa076d60c17241 (diff) | |
Fixed #27126 -- Made {% regroup %} return a namedtuple to ease unpacking.
Diffstat (limited to 'django')
| -rw-r--r-- | django/template/defaulttags.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/django/template/defaulttags.py b/django/template/defaulttags.py index 7372c9414d..bb6e8bf4c2 100644 --- a/django/template/defaulttags.py +++ b/django/template/defaulttags.py @@ -4,6 +4,7 @@ from __future__ import unicode_literals import re import sys import warnings +from collections import namedtuple from datetime import datetime from itertools import cycle as itertools_cycle, groupby @@ -335,6 +336,9 @@ class LoremNode(Node): return '\n\n'.join(paras) +GroupedResult = namedtuple('GroupedResult', ['grouper', 'list']) + + class RegroupNode(Node): def __init__(self, target, expression, var_name): self.target, self.expression = target, expression @@ -355,7 +359,7 @@ class RegroupNode(Node): # List of dictionaries in the format: # {'grouper': 'key', 'list': [list of contents]}. context[self.var_name] = [ - {'grouper': key, 'list': list(val)} + GroupedResult(grouper=key, list=list(val)) for key, val in groupby(obj_list, lambda obj: self.resolve_expression(obj, context)) ] |
