- changed status to resolved
state.commit_all() for *all* dirty states, not just those that changed ?
Issue #2582
resolved
related to #2566
#python
from sqlalchemy import *
from sqlalchemy.orm import *
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import event
Base = declarative_base()
class A(Base):
__tablename__ = "a"
id = Column(Integer, primary_key=True)
a = Column(Integer)
e = create_engine("sqlite://", echo=True)
Base.metadata.create_all(e)
s = Session(e)
@event.listens_for(Session, "after_flush_postexec")
def e(sess, ctx):
assert not sess.dirty
@event.listens_for(A, "after_update")
def e(mapper, conn, target):
sess = object_session(target)
for entry in sess.identity_map.values():
entry.a = 5
a1, a2 = A(a=1), A(a=2)
s.add_all([a2](a1,))
s.commit()
a1.a = 3
s.commit()
Comments (2)
-
reporter -
reporter - removed milestone
Removing milestone: 0.7.10 (automated comment)
- Log in to comment
lets keep it 0.8 for now, ab59e3e1135e1c5b59d19a54114163119d5ab1a4. it emits a warning.