2016-04-25 42 views
1

我想要存儲的字符串的Python列表在我的Postgres數據庫的表像這樣:SQLAlchemy的泡菜種類的存儲超過需要的DB

[「43193292 」1231321231「]

型號:

__workflows = Column('workflows', PickleType) 

然而,當我提交到DB,我結束了這樣的:。

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

我不需要整個二進制字符串,只是加粗部分()。理想情況下,我可以使用json轉儲/加載序列化和反序列化。

可以做到這一點嗎?由於

+1

好了,不要用鹹菜的Python列表?最好的方法是將其存儲爲['varchar []'](http://www.postgresql.org/docs/current/static/arrays.html)。 – univerio

+1

我很久沒有使用sqlalchemy,但postgres確實有'json'數據類型。如果序列化到json是你想要的,那麼檢查[json'和'jsonb'類型](http://www.postgresql.org/docs/current/static/datatype-json.html)和[它們的關聯功能](http://www.postgresql.org/docs/current/static/functions-json.html)。 – jmelesky

回答

0

找到了答案,使用JSON類型的作品完美的序列化字符串

from sqlalchemy.dialects.postgresql import JSON 

__workflows = Column('workflows', JSON)