我有三个类:PurchaseOrder,PurchaseOrderLine,Item
PurchaseOrder子项是与Item相关的PurchaseOrderLine。
pos = DBSession.query(m_po.PO).filter(or_(
m_po.PO.number == query,
m_po.POLine.item.code == query
)).join(m_po.POLine).join(m_im.Item)
给我......
AttributeError: Neither 'InstrumentedAttribute' object nor 'Comparator' object has an attribute 'code'
答案 0 :(得分:1)
假设:
m_po = PurchaseOrder
m_pol = PurchaseOrderLine
m_it = Item
并且关系是在这些之间定义的,你应该能够实现如下(未经测试):
pos = (DBSession.query(m_po.PO).
join(m_pol, m_po.POLine).
join(m_it, m_pol.Items).
filter(or_(
m_po.PO.number == query,
m_it.code == query,
))
注意:我对代码中的m_im
代表感到有些困惑。