[Python] psycopg2 e bytea

Stefano Dal Pra s.dalpra a gmail.com
Mer 16 Feb 2011 16:13:16 CET


Ciao Daniele, credo che un problema analogo valga anche per i boolean in
postgres.

Sto migrando un db mysql in uno equivalente postgres.
faccio sostanzialmente cose tipo:

mysqlcurs.execute("select * from Tab")
T = mysqlcurs.fetchall() #ci stanno, ci stanno... :-)
...
fms = ','.join("%s" for x in range(len(T[0])))
for tup in T:
    pg.curs.execute("insert into %s values (%s)"%(tablename,fms),tup)


mysqldump mappa false/true in 0/1, per cui
psycopg2.execute("insert into T (boolvalue) values (%s)",1)
da errore (TypeError se ricordo bene?).

Al momento risolvo la cosa con un dizionario:
dbool = {0:False,1:True,None:None}
(nota che bool(None) --> False, che per i db non va bene)
e rimappando i campi boolean prima di inserirli...

Versioni + recenti di psycopg2 si comportano diversamente in questo caso?

Ciao e buon lavoro, scusa il disturbo

Stefano





2011/2/15 Daniele Varrazzo <piro a develer.com>

> On Tue, 15 Feb 2011 15:59:58 +0100, Stefano Dal Pra <s.dalpra a gmail.com>
> wrote:
>
> > Grazie mille! Risposta e soluzione i 5 min!
>
> Grazie a te: non solo mi hai fatto notare un problema di documentazione,
> ma ho anche notato che nelle versioni di python 2.x che supportano
> bytearray (credo >= 2.6), questo dato non viene convertito in bytea (come
> invece succede in Python 3). Penso di riuscire a infilare questa feature in
> psycopg 2.4.
>
> --
> Daniele Varrazzo - Develer S.r.l.
> http://www.develer.com
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20110216/bbdd77ac/attachment.html>


Maggiori informazioni sulla lista Python