梗概:
使用关系数据库(例如:SQLite),
我two tables
分别映射two object types
。
我们称这些表为table_a
,table_b
和对象类A
和B
。
理想的设计:
从A类实例化的对象(例如:a_1)可以有一个或多个B对象:
Ex: a_1.bs = [b_1, b_2, b_3]
从B类实例化的对象(例如:b_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类实例的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 文档中的各种选项,但由于缺乏经验和情况的复杂性,我很遗憾。
为了获得这个结果我需要做什么?
谢谢。