PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

python 2.7 bis python 3.4 fehler nicht unterstützte operandentypen für %:'bytes' und 'dict'

Dank der Kommentare habe ich es auf Python 3 portiert

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)