Mr *_* T. 9 python django postgresql json django-queryset
我正在使用Django 1.9和Postgres 9.5.我有一个MyModel带JSONField(django.contrib.postgres.fields)的模型().JSON值在模型中的所有对象中具有相同的结构.
{
"key1": int_val_1,
"key2": int_val_2
}
Run Code Online (Sandbox Code Playgroud)
我想通过我的指定键的值来命令我的查询集JSONField.就像是
MyModel.objects.annotate(val=F('jsonfield__key1')).order_by('val')
Run Code Online (Sandbox Code Playgroud)
这不起作用 - 我收到以下错误
Cannot resolve keyword 'key1' into field. Join on 'jsonfield' not permitted.
Run Code Online (Sandbox Code Playgroud)
无论如何我能做到这一点吗?
sim*_*mon 12
对于Django> = 1.11,您可以使用:
from django.contrib.postgres.fields.jsonb import KeyTextTransform
MyModel.objects.annotate(val=KeyTextTransform('key1', 'jsonfield')).order_by('val')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2108 次 |
| 最近记录: |