Как сделать затратный SQL-запрос в Django
У меня есть внешняя база данных, которая зарегистрирована в settings.py. Я хочу запросить некоторую информацию. Но это не работает. В терминале я вижу, что запрос не запускается. Надеюсь, вы сможете мне помочь.
view.py
from django.db import connections
def userquery(request):
currentuser = request.user
userinfoquery = "SELECT * FROM 'userinformation' WHERE 'username' = %s", [currentuser]
with connections['mysql-server'].cursor() as cursor:
cursor.execute(userinfoquery)
userdata = cursor.fetchall()
return render(request,'account_settings.html', {'userdata' : userdata})
вызов в html-файле
<label>{{userdata.name}}</label>
cursor.fetchall() извлекает все строки результата запроса. Он возвращает все строки в виде списка кортежей. Пустой список возвращается, если нет ни одной записи для выборки. И вы не можете отобразить кортежи как <label>{{userdata.name}}</label>
.
Вы должны зациклить данные fetchall() и затем передать в шаблон.