数组列中的非重复值

2024-04-23 08:16:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用PostgreSQL的数组来存储图像的标记。在

如何在SQLAlchemy中为以下模型编写ORM查询,该查询返回表中找到的所有标记集:

from sqlalchemy.dialects.postgresql import ARRAY

class Image(Base):
    __tablename__ = 'images'
    id = Column(String, primary_key=True)
    tags = Column(ARRAY(Unicode))

我想我需要使用横向连接,但是我不知道如何使用SQLAlchemy的ORM语法来实现。在

PG版本:9.5


Tags: from标记模型图像importsqlalchemypostgresqlorm
1条回答
网友
1楼 · 发布于 2024-04-23 08:16:27

您可以使用func.unnest

from sqlalchemy import func

session.query(func.unnest(Image.tags)).distinct().all()

distinct()将使结果成为一个集合,unnest将把数组拆分成单独的行(就像postgresql函数unnest)。在

相关问题 更多 >