ATUALIZAÇÃO .. LIMITE 1 com SqlAlchemy e PostgreSQL
Com o SqlAlchemy, é possível criar uma consulta que atualize apenas a primeira linha correspondente?
No meu caso, preciso atualizar a entrada de log mais recente:
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 })
O que resulta em:
InvalidRequestError: Não é possível chamar Query.update () quando limit () foi chamado
Faz sentido, já queUPDATE ... LIMIT 1
é um recurso exclusivo do MySQL (com a solução fornecidaaqui)
Mas como eu faria o mesmo com o PostgreSQL? Possivelmente, usandoa abordagem de subconsulta?