JSON和Django字段

时间:2014-02-21 14:34:51

标签: json django

在Django中存储字典的最佳方法是什么?是否存在将整个JSON推入字段的本地方式,或者我应该尝试使用其他东西......人们推荐什么。我想尽可能保持标准的Django。

3 个答案:

答案 0 :(得分:0)

如果您正在使用PostgreSQL,可以查看django-hstore

class Something(models.Model):
    name = models.CharField(max_length=32)
    data = hstore.DictionaryField()  # can pass attributes like null, blank, ecc.

instance = Something.objects.create(name='something', data={'a': '1', 'b': '2'})
assert instance.data['a'] == '1'

答案 1 :(得分:0)

目前MySQL没有特殊的JSON数据类型。在我的一个工作中,我们使用了普通的text / blob字段。在将其写入数据库之前,我们将其压缩:

>>> json.dumps([1,2,3,{'4': 5, '6': 7}], separators=(',',':'))
'[1,2,3,{"4":5,"6":7}]'

当我们需要展示它时(如果你需要展示它?),我们就打印出来了:

>>> print json.dumps({'4': 5, '6': 7}, sort_keys=True,
...                  indent=4, separators=(',', ': '))
{
    "4": 5,
    "6": 7
}

这些摘录来自official documentation

答案 2 :(得分:0)