【发布时间】:2016-08-07 02:36:19
【问题描述】:
我有以下包含 JSONField 的 django 模型:
class RatebookDataEntry(models.Model):
data = JSONField(blank=True, default=[])
last_update = models.DateTimeField(auto_now=True)
class Meta:
verbose_name_plural = 'Ratebook data entries'
并且data字段包含这个json:
{
"annual_mileage": 15000,
"description": "LEON DIESEL SPORT COUPE",
"body_style": "Coupe",
"range_name": "LEON",
"co2_gkm_max": 122,
"manufacturer_name": "SEAT"
}
我可以按其中一个数据字段对查询集进行排序吗?此查询不起作用。
RatebookDataEntry.objects.all().order_by("data__manufacturer_name")
【问题讨论】:
-
不是我所知道的(在查询集上),但这种情况向我表明,您实际上可能需要一个用于“数据”而不是 json 的对象模型
-
顺便说一句,使用
default=list而不是default=[],否则你最终会得到不同实例之间共享的相同列表。
标签: python django django-1.9 django-jsonfield