Django 如何使用annotate和KeyTextTransform以及KeyTransform提取嵌套数组的第一个元素?
我正在使用Django 2.2和postgres 我有一个jsonb字段,名为Django 如何使用annotate和KeyTextTransform以及KeyTransform提取嵌套数组的第一个元素?,django,postgresql,jsonb,django-annotate,Django,Postgresql,Jsonb,Django Annotate,我正在使用Django 2.2和postgres 我有一个jsonb字段,名为actions 这是测试值 actions={ "accept": [ { "id": 123, # some random action id "created": "{:%Y-%m-%dT%H:%M:%S.%f%z}".format(datetime.now())
actions
这是测试值
actions={
"accept": [
{
"id": 123, # some random action id
"created": "{:%Y-%m-%dT%H:%M:%S.%f%z}".format(datetime.now()),
"user_id": 247, # some random user id
}
]
},
所以我想使用值\u列表
和注释
。我不知道如何只获取操作.accept.0.created
我试过的
.annotation(第一个接受=KeyTextTransform(0,KeyTextTransform(“接受”,“引用”\uu操作”))
这是失败的。我得到了错误
django.db.utils.DataError: invalid input syntax for integer: "accept"
LINE 1: ...te_type", ("sometable"."actions" #>> ARRAY['accept',0..
.annotation(接受动作=KeyTextTransform(“接受”、“引用动作”))
这是可行的,但它给了我
“[{“id”:123,“created”:“2020-10-16T12:28:16.452071”,“user_id”:247}]”
作为字符串
我可以随后解析该字符串yes,但我更喜欢直接访问数组第一个元素的创建的
我该怎么做