Django 1.11
Postgres 9.6
Здравствуйте, есть таблица "table" и у неё есть поле "field", куда складываются типы данных
jsonb. При формировании запроса мне необходимо вносить в него значения по вложенным ключам, при raw запросе никаких проблем не возникает и получается что-то вроде такого:
SELECT "table"."field" :: json#>>'{rootkey,nestedkey}' AS "nested_key" FROM "table"
WHERE "table"."param1" = value1;
Проблема возникает когда я нечто подобное хочу получить в django
MyModel.objects.filter(param1=value1).annotate(nested_key=RawSQL('"table"."field" :: json#>>\'{rootkey,nestedkey}\'', ()))
такой запрос в целом работает, но меня дико смущает использование RawSQL, можно ли как-нибудь избавиться от этого, может как-то по-особенному F использовать?
P.S.: в реальности запрос много сложнее, в этом псевдокоде я просто показал проблему, которая существует в реальном запросе.