【问题标题】:How to check a request.user with raw sql in Django如何在 Django 中使用原始 sql 检查 request.user
【发布时间】:2021-04-10 19:41:23
【问题描述】:

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

这是我的代码:

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

【问题讨论】:

    标签: sql django rawsql


    【解决方案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})

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

    【讨论】:

      猜你喜欢
      • 2012-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-21
      • 2012-03-16
      • 2017-04-26
      • 2021-01-06
      相关资源
      最近更新 更多