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