PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

da python 2.7 a python 3.4 errore tipi di operandi non supportati per %:'byte' e 'dict'

Grazie ai commenti, l'ho portato su Python 3

def compile_query(query):
    dialect = query.session.bind.dialect
    statement = query.statement
    comp = compiler.SQLCompiler(dialect, statement)
    comp.compile()
    enc = dialect.encoding
    params = {}
    for k,v in comp.params.items():
        if isinstance(v, str):
            v = v.encode(enc)
        params[k] = sqlescape(v)
    return (comp.string % params)