假设我们有一个带有两个表A,B的PostgreSQL数据库.
table A columns: id, name table B columns: id, name, array_a
array_a表B中的列包含表A中的可变长度的数组.在SQLAlchemy中,我们有两个类来模拟这些表,比如A类和B类.
以下工作正常,以获取对象B中引用的所有对象A:
session.query(A).join(B, A.id == func.any(B.array_a)).filter(B.id == <id>).all()
Run Code Online (Sandbox Code Playgroud)
我们如何在B中创建一个引用与数组对应的对象A的关系?尝试使用func.any上面的列比较器,但它抱怨ANY(array_a)不是模型中的列.如上所述指定primaryjoin条件似乎也没有削减它.