sql >> Databáze >  >> RDS >> PostgreSQL

TypeError:nelze uniknout z psycopg2.extensions.Binary to binární

Odeslání bajtů ze souboru do psycopg2.Binary je zbytečné. Stane se to automaticky, když SQLAlchemy odešle příkaz a hodnoty do databáze (pomocí konektoru DBAPI, což by v tomto případě bylo psycopg2).

Něco jako

with open(fn, 'rb') as f:
    bytes_ = f.read()
    instance = MyModel(document1=bytes_)
    session.add(instance)
    session.commit() 

funguje v Pythonu2 i Pythonu3, SQLAlchemy 1.3.x, generuje tento výstup z enginu:

2020-09-06 10:39:27,775 INFO sqlalchemy.engine.base.Engine INSERT INTO mytable (document1) VALUES (%(document1)s) RETURNING mytable.id
2020-09-06 10:39:27,775 INFO sqlalchemy.engine.base.Engine {'document1': <psycopg2.extensions.Binary object at 0x7f8ea012ff60>}



  1. Dynamicky vytvářet sloupce sql

  2. DateTime on Where Klauzule Oracle

  3. Nejlepší způsob, jak uložit hodnoty časového intervalu v MySQL?

  4. Automatické vkládání hodnot do tabulky z rozsahu