Отношения SQLAlchemy с Postgresql ARRAY

Предположим, у нас есть база данных PostgreSQL с двумя таблицами A, B.

table A columns: id, name
table B columns: id, name, array_a

Столбец array_aв таблице B содержит массив идентификаторов переменной длины из таблицы A. В SQLAlchemy у нас есть два класса, которые моделируют эти таблицы, скажем, классы A и B.

Следующее отлично работает, чтобы получить все объекты A, которые ссылается на объект B:

session.query(A).join(B, A.id == func.any(B.array_a)).filter(B.id == <id>).all()

Как мы можем создать связь в B, ссылаясь на объекты A, соответствующие массиву? Пробовал компараторы столбцов, используя func.anyвыше, но он жалуется, что ANY(array_a)не является столбцом в модели. Указание условий первичного соединения, как указано выше, также не помогает.

9
задан bernie 15 March 2012 в 22:54
поделиться