0
在sqlalchemy聲明基礎中,我想要從select中定義一個類。也許我很困惑sqlalchemy.select()
和session.query()
之間的區別是什麼...如果有人能解釋我這就像我3歲(與Python知識)。python sqlalchemy選擇別名
我沒有麻煩簡單連接,
class ViewA(Base):
__select__ = (
sqlalchemy.select([C1.attr1, C2.attr2, ...],
from_obj=C1.__table__.join(C2.__table__)
)
.where(...)
)
__table__ = __select__.alias('view_A')
我已經在項目中使用這個喜歡和它的作品,因爲我希望它。現在,我試圖創建另一個視圖,但自加入,讓我用orm.aliased()
但它不工作,因爲它說我有
sqlalchemy.exc.ProgrammingError:
(ProgrammingError) (1066, "Not unique table/alias: 'history'", None)
下面是我想要創建我等級:
class ViewSummary(Base):
_H1 = orm.aliased(C1, name='c1')
_H2 = orm.aliased(C1, name='c2')
__select__ = (
sqlalchemy.select([_H1.attr1, _H1.attr2, ...],
from_obj=(
_H1.__table__
.outerjoin(_H2.__table__, _H1.id == _H2.id)
.join(AnotherClass, _H1.id == AnotherClass.id)
)
.where(_H2.field is None)
)
__table__ = __select__.alias('view_summary')
我誤認爲使用orm.aliased
?
感謝您的幫助, D.