2016-04-25 9 views
1

ich wie so eine Python-Liste von Zeichenkette in meiner Postgres-Datenbank-Tabelle gespeichert werden soll:sqlalchemy Gurke Typ mehr Speicher als nötig in DB

[ "43193292 "1231321231"]

Modelle:

__workflows = Column('workflows', PickleType) 

jedoch, wenn ich an die DB begehen, ende I mit diesem up:..

77B 00000000 80 02 5D 01 28 55 71 13 34 33 31 39 33 32 39 32 ..] q (U ....

Ich brauche nicht die gesamte binäre Zeichenfolge, sondern nur den fett gedruckten Teil (43.193.292). Idealerweise konnte ich mit json dumps/loads serialisieren und deserialisieren.

Ist es möglich, dies zu tun? Dank

+1

Nun eine Python-Liste von Strings für die Serialisierung, nicht Gurke verwenden? Am besten speichern Sie es als ['varchar []'] (http://www.postgresql.org/docs/current/static/arrays.html). – univerio

+1

Ich habe sqlalchemy seit langer Zeit nicht mehr benutzt, aber postgres hat 'json' Datentypen. Wenn Sie nach json serialisieren wollen, dann schauen Sie sich [die 'json' und' jsonb' Typen] (http://www.postgresql.org/docs/current/static/datatype-json.html) und [ihre assoziierten] an Funktionen] (http://www.postgresql.org/docs/current/static/functions-json.html). – jmelesky

Antwort

0

die Antwort gefunden, Typ mit JSON perfekt funktioniert

from sqlalchemy.dialects.postgresql import JSON 

__workflows = Column('workflows', JSON) 
Verwandte Themen