Example #1
0
 def after_commit(cls, session):
     for obj in session._changes['update']:
         if isinstance(obj, SearchableMixin):
             add_to_index(obj.__tablename__, obj)
     session._changes = None
Example #2
0
 def reindex(cls):
     '''刷新指定数据模型中的所有数据的索引'''
     for obj in cls.query:
         add_to_index(cls.__tablename__, obj)
Example #3
0
 def receive_after_insert(cls, mapper, connection, target):
     '''监听 SQLAlchemy 'after_insert' 事件
     请参考: https://docs.sqlalchemy.org/en/13/orm/events.html#mapper-events'''
     add_to_index(target.__tablename__, target)