Мне нужно получить последнюю запись из БД. Я использую sqlalchemy. На данный момент я делаю так:
obj = ObjectRes.query.all() return str(obj[-1].id)
Но это слишком сложный запрос. Как я могу получить последнюю запись лучше?
Взгляните на Query.first(). Если вы укажете sort в правом столбце, первый будет последним. Пример может выглядеть так:
Query.first()
obj = session.query(ObjectRes).order_by(ObjectRes.id.desc()).first()
Иногда трудно переформулировать простые вещи:
SELECT * FROM ObjectRes WHERE id IN (SELECT MAX(id) FROM ObjectRes)
но у меня это сработало:
session.query(ObjectRes).filter(ObjectRes.id == session.query(func.max(ObjectRes.id)))