不确定这个问题的正确标题应该是什么。我有以下架构:
- 事务与工作项具有一对多的关系。
- WorkItems 与 LineItems 具有一对一(或一零)关系。
我正在尝试在 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 中的第二个子句返回一个 _Null 类型的对象,但它似乎期待具有“表”属性的东西。
这对我来说似乎应该很简单,我是否遗漏了一些明显的东西?
更新
答案是将primaryjoin
行更改为:
primaryjoin = "and_(Matter.id == WorkItem.matter_id, WorkItem.line_item_id == None)"