Хранение массивов в базе данных с использованием SQLalchemy - PullRequest
0 голосов
/ 22 апреля 2020

В настоящее время я строю проект, в котором для каждого пользователя мне нужно сохранить список строк (URL-адреса статей, которые он прочитал).

Я использую python + flask + SQLalchemy с sqlite.

Я понимаю, что sqlite не поддерживает массивы, поэтому я думал о переключении на другую базу данных вместо sqlite, которая поддерживает массивы.

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

1 Ответ

1 голос
/ 22 апреля 2020

Вы можете сериализовать его некоторым образом. Один из вариантов - просто вызвать str с массивом, а затем обработать его каким-либо образом, когда вам необходимо преобразовать его обратно.

Другой вариант - использовать модуль json:

import json


lst = [1,2,3]

serialized = json.dumps(lst)
print(serialized)                           # '[1, 2, 3]'
print(type(serialized))                     # <class 'str'>

deserialized = json.loads(serialized)
print(deserialized)                         # [1, 2, 3]
print(type(deserialized))                   # <class 'list'>

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

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