Как создать сырой sql-запрос во Flask-e?

мне кажется, эта строчка как-то связана с ним:

query = db.engine.execute("<SELECT * FROM Family>")

Такого вида запрос не интересует, это другой способ:

data2 = Species.query.filter(Species.kingdom_id.like(2))

Ответы (2 шт):

Автор решения: Алексей Белкин

Предположим, у тебя есть таблица: USERS(id, email, psw, date) и ты хочешь вытащить пользователя с id == 2. Тогда:

data = Users.query.filter_by(id=2)

Или если хочешь вернуть первую запись из таблицы:

data = Users.query.first() В обоих случая тебе вернется кортеж. Соответственно что бы вытащить что-то, ты обращаешься к полю. Например тебе надо только его email, тогда пишешь:

data.email

PS: более подробно в офиц. документации: https://flask-sqlalchemy-russian.readthedocs.io/ru/latest/queries.html

→ Ссылка
Автор решения: Muriam

Получилось, благодаря чтению про

engine

from sqlalchemy import create_engine

engine = create_engine("sqlite:///db.db")
 
# ... несколько таблиц БД

@app.route('/')
def func():
    query = db.engine.execute('SELECT * FROM Species WHERE kingdom_id=1')
    return render_template("index.html", query=query)


# еще надо прописать отображение фильтрованных данных в index.html. 
→ Ссылка