mapper events should accept a non-mapped class for which mapped subclasses get the event

Issue #2585 resolved
Mike Bayer repo owner created an issue

i.e.

import sqlalchemy as sa
from datetime import datetime as dt

class EntityBase(object):

    @declared_attr
    def __tablename__(cls):
        return cls.__name__.lower()

    id = sa.Column(sa.Integer, primary_key=True)
    last_update = sa.Column(sa.DateTime, default=dt.utcnow())

def update_entity(mapper, connection, target):
    target.last_update = dt.utcnow()


Entity = declarative_base(cls=EntityBase)

sa.event.listen(Entity, 'before_insert', update_entity)
sa.event.listen(Entity, 'before_update', update_entity)

Comments (4)

  1. Log in to comment