不确定这个问题的正确标题应该是什么。我有以下架构:
我正在尝试在 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_
因为 and
没有重载:
and_((Matter.id == WorkItem.matter_id), (WorkItem.line_item_id == None))
关于python - 如何在 SQLAlchemy 中指定一个关系,其中一个条件要求一列为空?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2863786/