gpt4 book ai didi

python - 如何将自动过滤器添加到与 SQLAlchemy 的关系中?

转载 作者:太空狗 更新时间:2023-10-29 20:19:26 24 4
gpt4 key购买 nike

我正在使用 SQLAlchemy 0.5rc,我想为一个关系添加一个自动过滤器,这样每次它尝试为该关系获取记录时,如果它们被标记,它就会忽略“远程”记录作为“logically_deleted”(子表的 bool 字段)

例如,如果一个对象“父”有一个“子”关系3 条记录,但其中一条在逻辑上被删除,当我查询“父”时,我希望 SQLA获取只有两个 child 的父对象..
我应该怎么做?通过向 primaryjoin 添加“和”条件关系的参数? (例如“Children.parent_id == Parent.id and Children.logically_deleted == False”,但是这样写“and”是否正确?)

编辑:
我设法以这种方式做到了

children = relation("Children", primaryjoin=and_(id == Children.parent_id, Children.logically_deleted==False))

但是有没有办法使用字符串作为 primaryjoin 呢?

最佳答案

but is there a way to use a string as primaryjoin instead?

您可以使用以下内容:

children = relationship("Children", primaryjoin="and_(Parent.id==Children.parent_id, Children.logically_deleted==False)"

这对我有用!

关于python - 如何将自动过滤器添加到与 SQLAlchemy 的关系中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/267861/

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