一尘不染

Django:模型中的列表字段?

django

在我的模型中,我想要一个包含三联列表的字段。例如[[1, 3, 4], [4, 2, 6], [8, 12, 3], [3, 3, 9]]。是否存在可以将这些数据存储在数据库中的字段?


阅读 970

收藏
2020-03-31

共1个答案

一尘不染

你可以使用JSON将其转换为字符串并将其存储为字符串。

例如,

In [3]: json.dumps([[1, 3, 4], [4, 2, 6], [8, 12, 3], [3, 3, 9]])

Out[3]: '[[1, 3, 4], [4, 2, 6], [8, 12, 3], [3, 3, 9]]'

你可以在类中添加方法以自动为你转换。

import json

class Foobar(models.Model):
    foo = models.CharField(max_length=200)

    def set_foo(self, x):
        self.foo = json.dumps(x)

    def get_foo(self):
        return json.loads(self.foo)
2020-03-31