この質問の正しいタイトルがわかりません。次のスキーマがあります。
- 案件は WorkItem と一対多の関係にあります。
- WorkItem は、LineItem と 1 対 1 (または 1 対 0) の関係にあります。
Matters と WorkItems の間に次の関係を作成しようとしています
Matter.unbilled_work_items = orm.relation(WorkItem,
primaryjoin = (Matter.id == WorkItem.matter_id) and (WorkItem.line_item_id == None),
foreign_keys = [WorkItem.matter_id, WorkItem.line_item_id],
viewonly=True
)
これはスローします:
AttributeError: '_Null' object has no attribute 'table'
これは、primaryjoin の 2 番目の句が _Null 型のオブジェクトを返すと言っているようですが、"table" 属性を持つものを期待しているようです。
これは私にとってはかなり簡単なように思えますが、明らかな何かが欠けていますか?
アップデート
答えは、primaryjoin
行を次のように変更することでした。
primaryjoin = "and_(Matter.id == WorkItem.matter_id, WorkItem.line_item_id == None)"