コード例 #1
0
ファイル: models.py プロジェクト: stephenfeagin/microblog
 def before_commit(cls, session: Session) -> None:
     """Registers session changes in a _changes dict"""
     session._changes = {
         "add": list(session.new),
         "update": list(session.dirty),
         "delete": list(session.deleted),
     }
コード例 #2
0
ファイル: models.py プロジェクト: stephenfeagin/microblog
 def after_commit(cls, session: Session) -> None:
     """
     Reads from the session._changes dict and updates the Elasticsearch index for affected
     objects
     """
     for obj in session._changes["add"]:
         if isinstance(obj, SearchableMixin):
             add_to_index(obj.__tablename__, obj)
     for obj in session._changes["update"]:
         if isinstance(obj, SearchableMixin):
             add_to_index(obj.__tablename__, obj)
     for obj in session._changes["delete"]:
         if isinstance(obj, SearchableMixin):
             remove_from_index(obj.__tablename__, obj)
     session._changes = None