Изменить группировку сортировки для нулевых значений - PullRequest
1 голос
/ 08 октября 2019

При использовании функции сортировки в Django Rest Framework вам предоставляется возможность сортировки по определенному полю, по возрастанию и по убыванию.

Эта сортировка группирует сначала нулевые значения, а затем буквенно-цифровые значения. (и это понятно, потому что None меньше «a»)

Но есть ли способ изменить этот порядок, чтобы все наши алфавитно-цифровые значения были отсортированы, а затем сгруппированы после того, как все являются нулевыми значениями?

В настоящее время при сортировке это порядок запросов.

Имена:

  • Нет
  • Нет
  • Эбби
  • Бен

Но желаемое поведение выглядит следующим образом.

Имена:

  • Эбби
  • Бен
  • Нет
  • Нет

Информация:

Я использую OrderingFilter из-за видового набора.

Это URL для конечной точки API http://192.168.1.85/people/?ordering=first_name

А в классе DRF OrderingFilter метод filter_queryset вызывает этот код здесь queryset.order_by(*ordering), что наводит меня на мысль, что это можно решить из самого набора запросов.


Примечание:

Я не уверен, что решение будет в DRF, Django или просто в Pythonсам возраст. Любой будет делать.

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