@glebst94

Как сортировать по алфавиту, а не по длине строки?

Создаю проект в Django Python3. В модели есть поле last_name=CharField(...). При применении order_by('last_name') происходит сортировка по длине фамилии, а не по алфавиту. Проблема только с кириллицей, с англ все в порядке.
Что это может быть?
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 1
coderisimo
@coderisimo
Хотите ответ? Формулируйте вопрос КОРРЕКТНО ! :)
COLLATE

Попробуйте в запросе

SELECT k
FROM t1
ORDER BY k COLLATE utf8_bin;


либо в настройках подключения к БД

CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci',

'default': {
    'ENGINE': 'django.db.backends.mysql', 
    'NAME': '',
    'USER': '',
    'PASSWORD': '',
    'HOST': 'localhost',
    'PORT': '3306',
    'OPTIONS': {
        'init_command': 'ALTER DATABASE <YOUR_DB_NAME> CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci',
    },
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы