Django: получить размер JSONField? - PullRequest
0 голосов
/ 20 июня 2020

Я использую Django + Postgres. У меня есть JSONField, и я хотел бы фактически отсортировать JSONField по размеру количества символов от наибольшего к наименьшему. Есть ли django собственный способ сделать это?

1 Ответ

0 голосов
/ 20 июня 2020

Если вы хотите узнать, сколько байтов требуется для хранения столбца:

для строк:

octet_length(string)

для ex max:

t=# with d(j) as (values('{"a":0}'),('{"a":null}'),('{"abc":0}'))
select j from d order by octet_length(j) desc limit 1;

SQL Строковые функции и операторы

или

pg_column_size(any) - Number of bytes used to store a particular value

Получение строки с наибольшим значением json просто сортируется по pg_column_size(json_column) desc limit 1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...