繁体   English   中英

如何将列表传递给 Django 中的 SQL 查询

[英]How to pass a list to the SQL query in django

我正在使用下面的代码:

def internal(request):

try:
    year=''
    month=[]
    class=[]
    results=[]
    conn = connections["connection1"]
    cursor = conn.cursor()
    year = request.GET.get('year')
    print(year)
    month = request.GET.getlist('month[]')
    for i in month:
        print("Months::"+i)
    class = request.GET.getlist('class[]')
    response_list = []
    cursor.execute(" select Year,month,student_name,admission_date,class from admission_table\
    where MONTH(admission_date) in ('"+(month)+"') AND YEAR(admission_date) in ('"+year+"') AND class in ('"+class+"') ")

    rows = cursor.fetchall()
    print(rows)
    if rows:
        for row in rows:
            response_list.append({'year':row[0],'month':row[1],'student_name':row[2],'admission_date':str(row[3]),'class':row[4]})
except Exception as e:
    print(str(e))

return HttpResponse(json.dumps(response_list))

如何将列表中的月份和类值传递给 SQL 查询。 提前感谢您的帮助!

为什么要执行原始 SQL? 用属性 year、month、student_name、admission_date、class 编写一个模型,而不是admission_table 然后,使用 Django 的内置 ORM 为表创建新对象。 您需要做的就是遍历获取请求的月份和类值,然后调用AdmissionTable.objects.create(<attributes here>)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM