Python SQLAlchemy PostgreSQL行与行之间的json关系

Python SQLAlchemy PostgreSQL行与行之间的json关系,python,json,postgresql,sqlalchemy,relationship,Python,Json,Postgresql,Sqlalchemy,Relationship,我想知道是否可以使用服务器函数jsonb或row_to_json来包装关系,而不是使用python将结果转换为json 检索文档时,我希望将图像对象作为json class Documentation(Base): __tablename__ = 'documentation' id = Column(UUID, server_default=text("uuid_generate_v4()"), primary_key=True) url = Column(Stri

我想知道是否可以使用服务器函数jsonbrow_to_json来包装关系,而不是使用python将结果转换为json

检索文档时,我希望将图像对象作为json

class Documentation(Base):

    __tablename__ = 'documentation'
    id = Column(UUID, server_default=text("uuid_generate_v4()"), primary_key=True)
    url =  Column(String, nullable=False)
    description = Column(String)
    name = Column(String)
    image_id = Column(UUID,ForeignKey(Image.id))
    image = relationship(Image,backref="image_data",lazy="subquery")


class Image(Base):

    __tablename__ = 'image'
    id = Column(UUID, server_default=text("uuid_generate_v4()"), primary_key=True)
    name = Column(VARCHAR(128), nullable=False)
    info = Column(JSONB)
    image = Column(BYTEA)
我想使用sqlalchemy翻译的sql请求示例:

select doc.*,
row_to_json(image.*) as image
from documentation doc
left join image on doc.image_id = image.id;
SQLAlchemy(当前请求)

是否可以使用sqlalchemy服务器端(在postgresql上)实现这一点?(针对性能问题)


谢谢现在这是两张不同的桌子。如果您想使用jsonb,而不只是将其作为文档的属性转换为JSON,则需要使用一种兼容的JSON类型将所有图像数据移动到文档下的新列中。由于这是一种1:1的关系,它们无论如何都属于同一个表。

您尝试过这个吗?我还没试过。我会的
q = Session.query(Documentation).all()