SQL OFFSET неправильно с заполнителями в Flask - PullRequest
0 голосов
/ 12 апреля 2020

Проблема выглядит простой, но я не знаю почему.

Этот код хорошо работает:

qr="SELECT title, author, year FROM books ORDER BY id ASC LIMIT 10 OFFSET 20"
books=db.execute(qr).fetchall()
return json.dumps([dict(r) for r in books])

, но когда я использую переменную в качестве значения смещения, например,

paging = 20
qr="SELECT title, author, year FROM books ORDER BY id ASC LIMIT 10 OFFSET :paging",{"paging":paging}
books=db.execute(qr).fetchall()
return json.dumps([dict(r) for r in books])

Это приводит к ошибке:

sqlalchemy.exc.ArgumentError
sqlalchemy.exc.ArgumentError: SQL expression object expected, got object of type <class 'tuple'> instead

1 Ответ

0 голосов
/ 12 апреля 2020
paging = 20
books=db.execute("SELECT title, author, year FROM books ORDER BY id ASC LIMIT 10 OFFSET :paging", paging=paging).fetchall()
return json.dumps([dict(r) for r in books])

Дополнительную информацию можно найти по адресу https://docs.sqlalchemy.org/en/13/core/tutorial.html#using -текстуально- sql

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