我有一个主要将数据存储在 JSON 字段中的模型。它的设置如下:
class Record(models.Model):
data = JSONField()
通常,数据字段具有以下格式:
data = {
"name": "Chad",
"age": 23
}
现在,在一个视图中,我想获取前 20 条记录,但使用 format 排序['-age', 'name']
。我有什么选择这样做?现在,我能想到的唯一解决方案是使用 获取所有记录,并在使用字段 jsonRecord.objects.all()
进行排序时迭代整个事情。data
有没有更快的方法来做到这一点?或者这是我唯一的解决方案?此外,如果我要以这种方式解决它,我将如何对记录进行排序,这对我的数据库来说会是一个巨大的性能问题吗?谢谢。
编辑:我不能将所有内容都放入单独的字段中。它必须是使用 PostgreSQL 数据库的 JSONField。