This will return a template-friendly list of dictionaries when using custom SQL. The dictionary can be accessed just as a normal model/queryset.
Example of use (in view):
qkeys = ['artist','album']
query = """
SELECT "artist","album" FROM "music"
"""
new_list = csql(request,query,qkeys)
(in template)
{% for row in new_list %}
{{ row.artist }} {{ row.album }}
{% endfor %}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # custom query function:
def csql(self,query,qkeys):
from django.db import connection
cursor = connection.cursor()
cursor.execute(query)
rows = cursor.fetchall()
# build dict for template:
fdicts = []
for row in rows:
i = 0
cur_row = {}
for key in qkeys:
cur_row[key] = row[i]
i = i+1
fdicts.append(cur_row)
return fdicts
|
More like this
- Template tag - list punctuation for a list of items by shapiromatron 10 months ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 10 months, 1 week ago
- Serializer factory with Django Rest Framework by julio 1 year, 5 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 5 months ago
- Help text hyperlinks by sa2812 1 year, 6 months ago
Comments
Please login first before commenting.