【发布时间】:2011-07-07 01:36:27
【问题描述】:
使用 SqlAlchemy ORM,我一直在尝试在子表中具有“子”记录的父表之间建立一对多的关系。表和映射器声明如下。问题是,当应该有很多记录时,只有一个子记录从数据库读取到“children”属性中。
child_table = Table('child_table', metadata_obj,
Column('field_1', Integer, ForeignKey('parent_table.field_1'),
primary_key=True),
Column('field_2', String, ForeignKey('parent_table.field_2'),
primary_key=True),
autoload=True
mapper(Parent_Class, parent_table, properties={
'children': relation(Child_Class, lazy=False, # Eager load
primaryjoin=and_(child_table.c.field_1==parent_table.c.field_1,
parent_table.c.field_2==parent_table.c.field_2),
backref="parents"),
})
【问题讨论】:
标签: python orm sqlalchemy