пусть есть две “абстрактные” модели
class A(Declarative):
__tablename__ = u'a'
id = Column(Integer, Sequence(u'a_id_seq'), primary_key=True, unique=True, nullable=False)
title = Column(Unicode)
b = Column(Integer, ForeignKey(u'b.id'), nullable=False, index=True)
class B(Declarative):
__tablename__ = u'b'
id = Column(Integer, Sequence(u'b_id_seq'), primary_key=True, unique=True, nullable=False)
title = Column(Unicode)
если выбирать через JOIN то результат будет типа :
[(<B object at 0x1>, <A object at 0x2>), (<B object at 0x1>, <A object at 0x3>), (<B object at 0x1t>, <A object at 0x4>)]
[(<B object at 0x1>, (<A object at 0x2>, <A object at 0x3>, <A object at 0x4>))]
П.С.
Касательно реального вопроса использую:
СУБД - PostgreSQL
sqlalchemy: 0.6.8