模型中的列表字段?

2024-04-21

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


您可以使用 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)

如果您使用 Django 1.9 或更高版本,并且使用 postgresql,则有一个名为 JSONField 的新类,您应该使用它。这是它的链接 https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.JSONField

关于 PostgreSQL JSON 和数组有很好的讨论youtube https://www.youtube.com/watch?v=xGkH2yoy2MY。看看吧,里面有非常好的信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

模型中的列表字段? 的相关文章

随机推荐