TypeError at /login/home/ || argument 1 must be a string or unicode object

Мое приложение пытается подключиться к существующему серверу Microsoft SQL и распечатать набор переменных из базы данных (Sage 200)

Когда приложение переходит на главную страницу (где должны быть выведены данные), оно выдает вышеупомянутое сообщение об ошибке.

Вот ошибка более подробно:

TypeError at /login/home/
argument 1 must be a string or unicode object
Request Method: GET
Request URL:    http://localhost:8000/login/home/
Django Version: 3.2
Exception Type: TypeError
Exception Value:    
argument 1 must be a string or unicode object
Exception Location: C:\Users\KylePOG\Documents\GMA Programming\accConnect\main\views.py, line 17, in home
Python Executable:  C:\Users\KylePOG\AppData\Local\Programs\Python\Python39\python.exe
Python Version: 3.9.4
Python Path:    
['C:\\Users\\KylePOG\\Documents\\GMA Programming\\accConnect',
 'C:\\Users\\KylePOG\\AppData\\Local\\Programs\\Python\\Python39\\python39.zip',
 'C:\\Users\\KylePOG\\AppData\\Local\\Programs\\Python\\Python39\\DLLs',
 'C:\\Users\\KylePOG\\AppData\\Local\\Programs\\Python\\Python39\\lib',
 'C:\\Users\\KylePOG\\AppData\\Local\\Programs\\Python\\Python39',
 'C:\\Users\\KylePOG\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages']
Server time:    Mon, 23 Aug 2021 06:24:37 +0000
Traceback Switch to copy-and-paste view
C:\Users\KylePOG\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\handlers\exception.py, line 47, in inner
                response = get_response(request) …
▶ Local vars
C:\Users\KylePOG\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\handlers\base.py, line 181, in _get_response
                response = wrapped_callback(request, *callback_args, **callback_kwargs) …
▶ Local vars
C:\Users\KylePOG\Documents\GMA Programming\accConnect\main\views.py, line 17, in home
                    'UID=[UID] ;'
                    'PWD=[PWD];')
def home(request):
    query = "SELECT top 10 * FROM [[DBNAME]].[dbo].[_etblGLAccountTypes]"
    conx = pyodbc.connect(cnxn) …
    cursor = conx.cursor();
    cursor.execute(query);
    data = cursor.fetchall()
    return render(request , 'main/home.html' , {"data":data})
▶ Local vars

Код, который он пытается выполнить на вкладке views, выглядит следующим образом:

from django.shortcuts import render
import pyodbc

driver= '{SQL Server Native Client 11.0}'

cnxn = pyodbc.connect('DRIVER={SQL Server};'
                    'SERVER=[SERVER];'
                    'PORT=[PORT];'
                    'DATABASE=[DBNAME];'
                    'UID=[UID] ;'
                    'PWD=[PWD];')

def home(request):

    query = "SELECT top 10 * FROM [[DBNAME]].[dbo].[_etblGLAccountTypes]"

    conx = pyodbc.connect(cnxn)
    cursor = conx.cursor();
    cursor.execute(query);

    data = cursor.fetchall()

    return render(request , 'main/home.html' , {"data":data})

Я довольно новичок в использовании существующей базы данных для проектов Django, поэтому если у кого-то есть примеры или причины, почему это происходит, пожалуйста, помогите.

Вернуться на верх