Comment réparer “ne peut pas s'adapter erreur” lors de l'enregistrement des données binaires à l'aide de python psycopg2

J'ai couru à travers ce bug trois fois aujourd'hui dans l'une de nos projets. Mettre le problème et la solution en ligne de référence pour l'avenir.

impost psycopg2

con = connect(...)

def save(long_blob):
     cur = con.cursor() 
     long_data = struct.unpack('<L', long_blob)
     cur.execute('insert into blob_records( blob_data ) values (%s)', [long_data])

Cette échoue avec le message d'erreur "ne peut pas s'adapter" à partir de psycopg2.

OriginalL'auteur Great Turtle | 2010-01-27