Python sqlalchemy JSONB JSONB_to_记录集

Python sqlalchemy JSONB JSONB_to_记录集,python,sqlalchemy,jsonb,Python,Sqlalchemy,Jsonb,i、 我试图将sql语句转换为sqlalchemy ORM语句(jsonB上的表达式),但在sqlalchemy中,我找不到使用jsonBjsonB\u to\u记录集的热门功能 这里是我的SQL表达式(工作完美) 在sqlalchemy和文本中,我做到了(它起作用) 在sqlalchemy ORM中,我尝试下面的代码(但代码不正确) 如何在sqlalchemy ORM中执行此操作?在sqlalchemy 1.4中,您无需使用文本即可构建查询: from sqlalchemy import fu

i、 我试图将sql语句转换为sqlalchemy ORM语句(jsonB上的表达式),但在sqlalchemy中,我找不到使用jsonB
jsonB\u to\u记录集的热门功能

这里是我的SQL表达式(工作完美)

在sqlalchemy和文本中,我做到了(它起作用)

在sqlalchemy ORM中,我尝试下面的代码(但代码不正确)


如何在sqlalchemy ORM中执行此操作?

在sqlalchemy 1.4中,您无需使用
文本即可构建查询:

from sqlalchemy import func, column, Text, Boolean

items = func.jsonb_to_recordset(LoanInformation.general_info).\ 
    table_valued(
        column("name", Text),
        column("exist_data", Text),
        column("found", Boolean)).\
    render_derived(with_types=True)

query = session.query(
        LoanInformation.title,
        items.c.name,
        items.c.exist_data,
        items.c.found).\
    filter(LoanInformation.title == 'r12',
           items.c.name == 'Investor')

@我用postgres
s = text("""select title, items.name, items.exist_data, items.found
                                        from loaninformation,jsonb_to_recordset(loaninformation.general_info)
                                                as items(name text, exist_data text, found bool)
                                                    where title=:title and items.name=:investor_name;""")

 query = session.query(items.name, items.exist_data, items.found sqlalchemy.func.jsonb_to_recordset(LoanInformation.general_info).\
            label("items"(name text, exist_data text, found bool))
    query = query.filter(and_(LoanInformation.title=='r12', LoanInformation.items.name=='Investor'))
from sqlalchemy import func, column, Text, Boolean

items = func.jsonb_to_recordset(LoanInformation.general_info).\ 
    table_valued(
        column("name", Text),
        column("exist_data", Text),
        column("found", Boolean)).\
    render_derived(with_types=True)

query = session.query(
        LoanInformation.title,
        items.c.name,
        items.c.exist_data,
        items.c.found).\
    filter(LoanInformation.title == 'r12',
           items.c.name == 'Investor')