Получение поля из курсора select (mssql) в моем шаблоне
У меня есть этот VIEW ниже:
from django.shortcuts import render
from django.db import connections
def IndexView(request):
con_totvs = connections['totvs'].cursor()
with con_totvs as cursor:
cursor.execute("SELECT A1_NOME, A1_CGC FROM SA1010 WHERE D_E_L_E_T_ <> '*' ORDER BY A1_NOME")
select = cursor.fetchall()
# bla bla bla
context = {}
cursor.close ()
con_totvs.close ()
return render(request, "home.html", context)
Так же, как я использую при создании моделей, в моем шаблоне я хотел бы сделать что-то вроде:
{% for i in SELECT %}
{{ i.A1_NOME }}
{% endfor %}
Возможно ли это? Я искал, но у меня не получилось
Оказалось, что мне нужно объявить имена полей и передать их в dict. Мне помогла эта ссылка: MySQL: Получить имя столбца или псевдоним из запроса
def IndexView(request):
con_totvs = connections['totvs'].cursor()
with con_totvs as cursor:
cursor.execute("SELECT A1_NOME, A1_CGC FROM SA1010 WHERE D_E_L_E_T_ <> '*' ORDER BY A1_NOME")
fields = [field_name[0] for field_name in cursor.description]
select = [dict(zip(fields,row)) for row in cursor.fetchall()]
# get specific field
nome = (row['A1_NOME'] for row in select)
cursor.close ()
con_totvs.close ()
return render(request, "home.html", {'select': select})
Теперь я могу использовать
{% for i in select %}
{{i.A1_NOME}} - {{i.A1_CGC}}
{% endfor %}