将数字python列表(例如[4,7,10,39,91])存储到数据库的最佳方法是什么?我正在使用Pyramid框架和SQLAlchemy来与数据库进行通信。
谢谢!
答案 0 :(得分:9)
您可以使用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]
答案 1 :(得分:8)
从概念上讲,您可以使用一对多关系将列表存储为表中的一堆行,或者您可以专注于如何在特定数据库后端中存储列表。例如,postgres可以使用sqlalchemy.dialects.postgres.ARRAY数据类型将数组存储在特定单元格中,该数据类型可以将python数组序列化为postgres数组列。
答案 2 :(得分:0)
使用字符串(Varchar)。 来自Python的禅宗:“简单比复杂更好。”
答案 3 :(得分:0)
sqlalchemy.types.PickleType可以存储列表