необработанный запрос sql не работает в рамках django. Я получаю "TypeError в / не все аргументы, преобразованные во время форматирования строки" - PullRequest
0 голосов
/ 18 апреля 2020

выберите * из table_name, где name =% s ", params = {" name1 "," name2 "}

full_code:

from django.shortcuts import render
from . models import destination

def index(request,params = None):       
  dests1 = destination.objects.raw("select *from travello_destination where name = %s",params={'Bangalore','Mumbai'})
  return render(request,'index.html', {"dests":dests1})

1 Ответ

0 голосов
/ 18 апреля 2020

Вы используете необработанный запрос неправильно, из документов:

params - это список или словарь параметров. Вы будете использовать% s заполнителей в строке запроса для списка или% (key) s заполнителей для словаря (где ключ заменяется ключом словаря, конечно), независимо от вашего механизма базы данных. Такие заполнители будут заменены параметрами из аргумента params.

  dests1 = destination.objects.raw(
   "select *from travello_destination where name = %s or name=%s", params=['Bangalore','Mumbai'])

Также я бы посоветовал вам использовать ORM , а не необработанные запросы

...