ОБНОВЛЕНИЕ.. ОГРАНИЧЕНИЕ 1 с SqlAlchemy и PostgreSQLPython

Программы на Python
Anonymous
ОБНОВЛЕНИЕ.. ОГРАНИЧЕНИЕ 1 с SqlAlchemy и PostgreSQL

Сообщение Anonymous »

Можно ли с помощью SqlAlchemy создать запрос, который будет обновлять только первую соответствующую строку?

В моем случае мне нужно обновить самую последнюю запись журнала :

Код: Выделить всё

class Log(Base):
__tablename__ = 'logs'
id = Column(Integer, primary_key=True)
#...
analyzed = Column(Boolean)

session.query(Log)  \
.order_by(Log.id.desc())  \
.limit(1)  \
.update({ 'analyzed': True })
В результате:


InvalidRequestError: невозможно вызвать Query.update () при вызове метода limit()


Это имеет смысл, поскольку UPDATE ... LIMIT 1 — это MySQL -только функция (с решением, приведенным здесь)

Но как мне сделать то же самое с PostgreSQL? Возможно, используя подход подзапроса?

Подробнее здесь: https://stackoverflow.com/questions/259 ... postgresql

Вернуться в «Python»