Хранение матрицы в модели django
Я хочу хранить матрицу (из файла) в django и загружать ее в sqlite. Я видел, что некоторые советуют хранить ее по ячейкам, но так как это огромная матрица (более тысячи элементов), я бы хотел хранить ее не так, а целиком.
.
Я думаю хранить его как список, но это тоже не просто, потому что элементы являются плавающими.
Есть ли простой/возможный способ хранения моей матрицы?
view.py
new_file = [[8.2, 14.2, -6.1],
[12.6,7.0,4.7],
[-1.1,3.6,21.1]]
def file_list(request):
content = new_file[:]
content = chain.from_iterable(zip(*content))
extract_data = Cell(content = content)
extract_data.save()
model.py
class Cell(models.Model):
content = models.FloatField() #ok, obviously this doesn't work
Если для вас приоритетом является экономия памяти, вы можете попробовать хранить вашу матрицу в виде большой строки. Поскольку float требует 8 байт памяти, а char - только 1 байт памяти.
Например:
Ваш список
new_file = [[8.2, 14.2, -6.1],
[12.6,7.0,4.7],
[-1.1,3.6,21.1]]
Вы можете хранить его как
new_file = "8.2,14.2,-6.1,12.6,7.0,4.7,-1.1,3.6,21.1"
Для доступа к любому элементу: Пример, если вы хотите получить доступ к new_file[1][2]
new_file.split(',')[1*total_number_of_columns + 2]