あらすじ:
リレーショナル データベース (例: SQLite) を使用して、それぞれマップされているtwo tables
場所があります。これらのテーブルを、オブジェクト クラスを、 とtwo object types
呼びましょう。table_a
table_b
A
B
ご希望のデザイン:
クラス A (例: a_1) からインスタンス化されたオブジェクトは、1 つ以上の B オブジェクトを持つことができます。
Ex: a_1.bs = [b_1, b_2, b_3]
クラス B (例: b_1) からインスタンス化されたオブジェクトは、1 つ以上の A オブジェクトを持つことができます。
Ex: b_1.as = [a_8, a_9, a_11]
繰り返しますが、B オブジェクトには、最初の関係から型 A の親への"backref" も必要です。
Ex: b_1.a = [a_1]
また、A オブジェクト (例: a_8) がタイプ B インスタンスの 1 つである場合a
、backref を持つ必要があります。
Ex: a_8.b = [b_1]
ご覧のとおり、2 つのテーブルがありますが、それらは無限に接続されています。
そう:
A can have one or more Bs and each one of those Bs can have one or more As.
SQLAlchemy ORMドキュメントからさまざまなオプションを試しましたが、経験不足と状況の複雑さのために、迷っています。
この結果を得るために何をする必要がありますか?
ありがとうございました。