On Fri, Dec 14, 2018 at 4:58 PM Daniel Leon <daniel19001...@gmail.com> wrote: > > I want to be able to refresh the object immediately before setting its > attribute and commit immediately after. I notice that the set event is before > set. Is there an after set event?
there's not an "after" event but you can skip all these events entirely and override __setattr__() if you wanted to, that's still "normal" here: from sqlalchemy import Integer, Column, create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import object_session, Session Base = declarative_base() class SetHandler(object): def __setattr__(self, key, value): print("before set: %s" % value) super(SetHandler, self).__setattr__(key, value) print("after set: %s" % value) sess = object_session(self) if sess is not None: print("flushing...") sess.flush() # this would be a little nutty to do # for every attribute change but it's possible class A(SetHandler, Base): __tablename__ = 'a' id = Column(Integer, primary_key=True) a = Column(Integer) b = Column(Integer) c = Column(Integer) e = create_engine("sqlite://", echo=True) Base.metadata.create_all(e) a1 = A(a=1, b=2, c=3) s = Session(e) s.add(a1) a1.b = 5 a1.c = 10 s.commit() > > -- > 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 post to this group, send email to sqlalchemy@googlegroups.com. > Visit this group at https://groups.google.com/group/sqlalchemy. > For more options, visit https://groups.google.com/d/optout. -- 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 post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.