使用JSONField订购Django查询集的最快方法是什么?

时间:2018-09-23 17:38:49

标签: json django django-jsonfield

我有一个模型,该模型主要将数据存储在JSON字段中。其设置如下:

class Record(models.Model):
    data = JSONField()

通常,数据字段具有以下格式:

data = {
    "name": "Chad",
    "age": 23
}

现在,在视图中,我想获取前20条记录,但使用格式['-age', 'name']进行排序。我有什么选择呢?现在,我能想到的唯一解决方案是使用Record.objects.all()获取所有记录,并使用data字段json在订购时迭代整个过程。有更快的方法吗?还是这是我唯一的解决方案?而且,如果我要通过这种方式解决它,我将如何对记录进行排序,这对我的数据库来说将是一个巨大的性能问题吗?谢谢。

编辑:我不能将所有内容都放在单独的字段中。使用PostgreSQL数据库必须是JSONField。

0 个答案:

没有答案