gpt4 book ai didi

python - 如何在 SQLAlchemy 中指定一个关系,其中一个条件要求一列为空?

转载 作者:太空宇宙 更新时间:2023-11-03 13:24:25 24 4
gpt4 key购买 nike

不确定这个问题的正确标题应该是什么。我有以下架构:

  • 事务与 WorkItems 具有一对多关系。
  • 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)"

最佳答案

尝试使用 and_ 作为 and 没有重载:

and_((Matter.id == WorkItem.matter_id), (WorkItem.line_item_id == None))

关于python - 如何在 SQLAlchemy 中指定一个关系,其中一个条件要求一列为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2863786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com