将python列表存储到数据库的最佳方法是什么?

ret*_*nuh 4 python database sqlalchemy pyramid

将python数字列表(例如[4,7,10,39,91])存储到数据库的最佳方法是什么?我正在使用Pyramid框架与SQLAlchemy进行通信以与数据库进行通信.

谢谢!

neu*_*ino 11

您可以使用json将数组保存在db中作为stings:

In [1]: import json

In [2]: json.dumps([1, 2, 3])
Out[2]: '[1, 2, 3]'

In [3]: json.loads(json.dumps([1, 2, 3]))
Out[3]: [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

还考虑使用cjson获得更好的性能,并考虑使用anyjson来获得更好的回退.


Mic*_*kel 8

从概念上讲,您可以使用一对多关系将列表存储为表中的一堆行,或者您可以专注于如何在特定数据库后端中存储列表.例如,postgres可以使用sqlalchemy.dialects.postgres.ARRAY数据类型将数组存储在特定单元格中,该数据类型可以将python数组序列化为postgres数组列.