The best way to store a python list to a database?

前端 未结 4 1290
一生所求
一生所求 2021-02-06 11:50

What would be the best way of storing a python list of numbers (such as [4, 7, 10, 39, 91]) to a database? I am using the Pyramid framework with SQLAlchemy to communicate to a d

相关标签:
4条回答
  • 2021-02-06 12:13

    Well conceptually you can store a list as a bunch of rows in a table using a one-to-many relation, or you can focus on how to store a list in a particular database backend. For example postgres can store an array in a particular cell using the sqlalchemy.dialects.postgres.ARRAY data type which can serialize a python array into a postgres array column.

    0 讨论(0)
  • 2021-02-06 12:19

    You can use json to save your arrays in db as 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]
    

    also consider using cjson for better performances and anyjson for nice fallbacks.

    0 讨论(0)
  • 2021-02-06 12:22

    Use string(Varchar). From Zen of Python: "Simple is better than complex."

    0 讨论(0)
  • 2021-02-06 12:26

    sqlalchemy.types.PickleType can store list

    0 讨论(0)
提交回复
热议问题