Лучший способ сохранить список питонов в базе данных? - PullRequest
3 голосов
/ 03 июня 2011

Каков наилучший способ хранения списка чисел Python (например, [4, 7, 10, 39, 91]) в базе данных? Я использую платформу Pyramid с SQLAlchemy для связи с базой данных.

Спасибо!

Ответы [ 4 ]

10 голосов
/ 16 июня 2011

Вы можете использовать json , чтобы сохранить ваши массивы в db как укусы:

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]

также рассмотрите возможность использования cjson для лучшей производительности и anyjson для хороших откатов.

8 голосов
/ 03 июня 2011

Что ж, концептуально вы можете хранить список в виде набора строк в таблице, используя отношение один ко многим, или вы можете сосредоточиться на том, как сохранить список в определенной серверной части базы данных.Например, postgres может хранить массив в определенной ячейке, используя тип данных sqlalchemy.dialects.postgres.ARRAY, который может сериализовать массив python в столбец массива postgres.

0 голосов
/ 27 октября 2016

sqlalchemy.types.PickleType может хранить список

0 голосов
/ 03 июня 2011

Использовать строку (Varchar). От Zen of Python: «Простое лучше, чем сложное».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...