blob: dfc094b5917fb670d1b7e62d5b30435e057cdc9e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
from django import template
import json
register = template.Library()
def queryset_to_list(queryset, fields):
"""
Convert a queryset to a list; fields can be set to a comma-separated
string of fields for each record included in the resulting list; if
omitted, all fields are included for each record, e.g.
{{ queryset | queryset_to_list:"id,name" }}
will return a list like
[{'id': 1, 'name': 'foo'}, ...]
(providing queryset has id and name fields)
"""
if fields:
fields_list = [field.strip() for field in fields.split(',')]
return list(queryset.values(*fields_list))
else:
return list(queryset.values())
register.filter('queryset_to_list', queryset_to_list)
|