将参数传递给Django中的cursor.execute



我有以下视图定义Django

def getEiNumberByFeatures(request):
# request should be ajax and method should be GET.
if request.is_ajax and request.method == "GET":
# get the nick name from the client side.
id = request.GET.get("id", None)
sqlQuery = """SELECT names 
FROM Costumer 
WHERE id = %s """
cursor.execute(sqlQuery, (id))
eiNumbers = cursor.fetchall()
context = {"EiNumber": eiNumbers}
return JsonResponse(context, status=200)

我得到以下错误

pyodbc.ProgrammingError: ('The SQL contains 0 parameter markers, but 1 parameters were supplied', 'HY000')

有人知道为什么会发生这种事吗?即使我发送参数

首先需要转换为JSON序列化程序

for ei in eiNumbers:
data.append(list(ei))
context = {"EiNumber": data}

最新更新