最有效的Django模型来存储数值数据

时间:2014-09-27 13:45:43

标签: django

在Django中将数值数据存储为模型的最佳方法是什么?我确实看过What is the most efficent way to store a list in the Django models?,但我很想知道为numpy数组量身定制的答案。

1 个答案:

答案 0 :(得分:3)

一种方法是将numpy数组转换为字符串并将其存储在文本字段中

base64.encodestring(nparray)

另一种方法是将数组转储到文件中并将文本文件的路径存储在数据库中

nparray.dump(file)

如果你想在Django中以结构化的方式存储数据,你需要创建模型来做到这一点。

您可以使用2个型号:

class Element(models.Model):
    Value = models.FloatField()
    Array = models.ForeignKey(Array)

class Array(models.Model):
    #Not required, just for illustration, use the id models instead
    Name = models.CharField('Name', max_length=100)

    Parent = models.ForeignKey(self, blank=True, null=True)

将值存储在Element模型中,并使用Array模型创建结构。

假设您有一个2D数组,您可以这样存储它     [Array1,Array2,Array3]     Array1 = [1,2,3]     Array2 = [4,5,6]     Array3 = [7,8,9]

Array('ParnetArray')

Array('Array1','ParentArray'),Array('Array2','ParentArray'),Array('Array3','ParentArray')

Element(1,'Array1'),Element(2,'Array1'),Element(3,'Array1'),Element(4',Array2'),Element(5,'Array2')...........