Мне нужно отсортировать список объектов, содержащих имена хостов.
Имена хостов имеют следующие форматы: h1, h5, h10, h12, h12-abc, h1000, x10
Если я использую order_by ('hostname'), он будет выглядеть следующим образом:
h1, h10, h1000, h12, h12-abc, h5, x10
Как бы я достиг такого порядка:
h1, h5, h10, h12, h12-abc, h1000, x10
Имена хостов всегда начинаются с символа, затем 1-4 цифры и частично расширения, как, например, '-abc '.
Полагаю, мне нужно использовать Substr (), чтобы извлечь число и как-то упорядочить числа, чтобы «10» не было в списке до «5».
Споиск Я нашел несколько старых примеров с помощью extra (), но в документации Django сказано, что в будущем он будет устаревшим, и «используйте этот метод как последнее средство» https://docs.djangoproject.com/en/2.1/ref/models/querysets/#extra
Что такое способ сделать это на будущее