1

我想获取有关当前登录的学生的数据

这是我的代码:

def profile(request):
    cursor = connection.cursor()
    a = request.user.id
    cursor.execute("SELECT * from Student WHERE ID = a ")

    data = dictfetchall(cursor)
    return render(request, 'personal.html', {'data': data})

表中的学生属性 ID 与表 auth_user 中的属性 id 连接甚至可以检查吗?我知道使用 ORM 很容易做到,但我需要使用原始 sql

4

1 回答 1

1

您使用参数,因此:

def profile(request):
    with connection.cursor() as cursor:
        cursor.execute('SELECT * FROM Student WHERE ID = %s', [request.user.id])
        data = dictfetchall(cursor)
    return render(request, 'personal.html', {'data': data})

然而,使用原始查询通常不是一个好主意。

于 2021-04-10T19:47:21.840 回答