PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

TypeError:nie można uciec od psycopg2.extensions.Binary do pliku binarnego

Przerzucanie bajtów z pliku do psycopg2.Binary jest niepotrzebne. Stanie się to automatycznie, gdy SQLAlchemy when wyśle ​​instrukcję i wartości do bazy danych (używając konektora DBAPI, którym w tym przypadku będzie psycopg2).

Coś jak

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

działa zarówno w Python2, jak i Python3, SQLAlchemy 1.3.x, generując ten wynik z silnika:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co to jest superużytkownik postgres

  2. Czy można odpowiedzieć na pytania dotyczące widoku przed pełną materializacją widoku?

  3. Odczytaj pliki CSV/Excel z pliku SFTP, wprowadź zmiany w tych plikach za pomocą Pand i zapisz z powrotem

  4. Czy mogę automatycznie utworzyć tabelę w PostgreSQL z pliku csv z nagłówkami?

  5. Jak zoptymalizować postgres zapytania