不确定这个问题的正确标题应该是什么.我有以下架构:
>事项与WorkItems有一对多的关系.
> WorkItem与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的对象,但它似乎期待具有“table”属性的东西.
这似乎对我来说应该是非常简单的,我错过了一些明显的东西吗?
更新
答案是将primaryjoin行更改为:
primaryjoin = "and_(Matter.id == WorkItem.matter_id, WorkItem.line_item_id == None)"
最佳答案 尝试使用and_ as并且不会重载:
and_((Matter.id == WorkItem.matter_id), (WorkItem.line_item_id == None))