Как передать список на запрос SQL в django - PullRequest
0 голосов
/ 04 февраля 2020

Я использую код ниже:

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. Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 04 февраля 2020

Почему вы выполняете raw SQL? Вместо admission_table напишите модель с атрибутами год, месяц, имя студента, дата поступления, класс. Затем используйте встроенный в ORM Django для создания новых объектов для таблицы. Все, что вам нужно сделать, это l oop над значениями месяца и класса запроса на получение и вызвать AdmissionTable.objects.create(<attributes here>).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...