假设我有一个模型,它在概念上应该只是从一种简单类型到另一种父类型的字典。我尝试实现自定义集合类,但似乎这不是正确的方法,因为自定义集合应该将类型 L1 的某个内容作为参数添加到集合中。但我想要的接口是 Root(children={'a': 'a'})
class L1(Base):
__tablename__ = 'l1s'
id = sa.Column(sa.Integer, primary_key=True)
parent_id = sa.Column(sa.Integer, sa.ForeignKey('roots.id'))
name = sa.Column(sa.String, unique=True)
value = sa.Column(sa.String)
class Root(Base):
__tablename__ = 'roots'
id = sa.Column(sa.Integer, primary_key=True)
name = sa.Column(sa.String, unique=True)
children = relationship('L1', backref='parent', collection_class=partial(AsSimpleDict, L1, 'name', 'value'))