Here is the code I used (simplified):

class Measurement(Base):
    __tablename__ = 'Measurement'
    __table_args__ = (
        {'implicit_returning': False},  # Required because of some triggers 
on this table
    )

    ID = Column(Integer, primary_key=True)
    Created = Column(DATETIME2, nullable=False, 
default=datetime.datetime.now)
    IsCompleted = Column(BIT)
    Completed = Column(DATETIME2)
        
measurement = Measurement(Part=motor_unit, 
TestProcedureVersion=test_procedure)
session.add(measurement)
session.commit()

# And Later:
measurement.IsCompleted = True
session.commit()  # --> This raises the StaleData Exception



jue...@gmail.com schrieb am Freitag, 26. Juni 2020 um 15:57:32 UTC+2:

> I'm currently working with sqlalchemy (Version 1.3.18) to access a 
> Microsoft Server SQL Database (Version: 14.00.3223). I use pyodbc 
> (Version 4.0.30)
>
> When I try to update a single object and try to update and commit the 
> object, I run into a StaleDataError:
>
> StaleDataError: UPDATE statement on table 'Measurement' expected to update 
> 1 row(s); 5051 were matched. 
>
> The update statement looks perfectly fine:
>
> 2020-06-26 15:50:59,872 INFO sqlalchemy.engine.base.Engine UPDATE 
> tbm.[Measurement] SET [IsCompleted]=? WHERE tbm.[Measurement].[ID] = ?
> 2020-06-26 15:50:59,872 INFO sqlalchemy.engine.base.Engine (True, 6248)
>
> Any Idea what's wrong with this.
>

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sqlalchemy/72ff50d9-e707-487f-a19e-a1fb45c16e49n%40googlegroups.com.

Reply via email to