типом данных JSONType. Значения в этом поле выглядят следующим образом:
{"ru": "Текст на русском", "en": "English text"}
В определённый момент мне нужно получать некоторые записи поля name из модели на определённом языке, отсортировав их по алфавиту. Для этого я написал следующую функцию: https://www.toptal.com/developers/hastebin/koxizevamu.py
Функция получает в качестве аргумента ключ ru или en, после чего подставляет его в order_by в виде "name__ru" или "name__en"
В случае, если ключ == en, то сортировка по алфавиту проходит нормально. Но как только пытаюсь получить значения на русском и отсортировать их по алфавиту, то сортируется как угодно, только не в правильном порядке. Пробовал сортировать по типу "-name__ru", и видно, что сортировка меняется, но опять же работает неправильно
Я использую постгрес. Вопрос следующий — это я что-то делаю не так или проблема в субд/чем-то другом?
Или может я колхозю и не допираю, что можно сделать как-то иначе и попроще?
upd. Значения на русском я проверил, в них нет в начале ни пробелов, ни латинских символов. То есть все значения начинаются именно с кириллицы. Потому как изначально грешил на то, что я местами криво указал русские слова и поэтому сортировка рушится
Спасибо, попробую!
глянул у меня в старом проекте было такое encoder=django.core.serializers.json.DjangoJSONEncoder, но не уверен что именно эту проблему решал))
Обсуждают сегодня