我想在插入之前验证和修改我的数据。要验证我需要查询数据库,在某些情况下还要修改数据库。看起来我无法访问会话以从Base类内部执行数据库查询。
这可以在Sqlalchemy ORM中完成,还是我应该寻找另一个ORM?
class Message(Base):
__tablename__ = 'messages'
id = Column(Integer, primary_key=True)
name = Column(String(250), nullable=False)
@event.listens_for(Message, 'before_insert')
def receive_before_insert(mapper, connection, target):
# here is where I would like to query and insert stuff into db