У меня JSONField
на моей Product
модели, и в этой модели у меня есть вложенные поля.
Например:
"data": {
'products':{
"name": "ProductA",
"color": "Brown",
"price": {
"end_user": 54,
"credit_cart": 60
},
"name": "ProductB",
"color": "Red",
"price": {
"end_user": 100,
"credit_cart":120
},
}
}
Я хочу заказать вложенный end_user
поле.
это моя попытка:
Products.objects.order_by(RawSQL("data->>%s", ("data__price__end_user",)))
Я нашел ответ:
queryset = queryset.annotate(
end_user=RawSQL("data->'products'->'price'->'->'end_user'", [])
).order_by('end_user')