0
私はhistory_metaレシピが見つかりましたhere私の宣言的オブジェクトをバージョン化しています。しかし、2つのモデルの間に双方向の関係があると、マッパーは他のモデルのマッパーの検索/初期化に失敗します。そうですね。history_metaバージョンマッパーが双方向の関係で例外をスローする
class Child(Versioned, Base):
__tablename__ = 'child'
id = Column(Integer, primary_key=True)
parent_id = Column(Integer, ForeignKey("parent.id"))
parent = relationship("Parent", back_populates="children")
class Parent(Versioned, Base):
__tablename__ = 'parent'
id = Column(Integer, primary_key=True)
children = relationship("Child", back_populates="parent")
は、クラス定義以下の関係を移動するエラーに
sqlalchemy.exc.InvalidRequestError: When initializing mapper Mapper|Child|child, expression 'Parent' failed to locate a name ("name 'Parent' is not defined"). If this is a class name, consider adding this relationship() to the <class '__main__.Child'> class after both dependent classes have been defined.
を与える問題を修正しますが、これは望ましくないソリューションです。履歴メタによって呼び出されるマッパーは、呼び出される前にすべての関連するクラスを作成する必要があるようです。
このように、双方向関係でhistory_metaを動作させる方法はありますか?