Как получить последнюю запись - PullRequest
49 голосов
/ 18 декабря 2011

Мне нужно получить последнюю запись из БД. Я использую sqlalchemy. На данный момент я делаю так:

obj = ObjectRes.query.all()
return str(obj[-1].id)

Но это слишком сложный запрос. Как я могу получить последнюю запись лучше?

Ответы [ 2 ]

112 голосов
/ 18 декабря 2011

Взгляните на Query.first(). Если вы укажете sort в правом столбце, первый будет последним. Пример может выглядеть так:

obj = session.query(ObjectRes).order_by(ObjectRes.id.desc()).first()
2 голосов
/ 02 декабря 2014

Иногда трудно переформулировать простые вещи:

SELECT * FROM ObjectRes WHERE id IN (SELECT MAX(id) FROM ObjectRes)

но у меня это сработало:

session.query(ObjectRes).filter(ObjectRes.id == session.query(func.max(ObjectRes.id)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...