city_name
Как отсортировать их в алфовитном порядке, но чтоб city_name с буквой М были первыми?
С помощью annotate(Case(When...))), я бы делал...
порядок сортировки задать в .values() список полей в .values() можно передать так foo = ['col1', 'col2'] .values(*foo) ну а как остортировать как тебе надо уже погугли
классический путь order_by annotate -> Case When .. Then или из доки ( но мне такое вариант не нравится, хоть он и проще) q = Entry.objects.extra(select={'is_recent': "pub_date > '2006-01-01'"}) q = q.extra(order_by = ['-is_recent'])
еще один вариант сделать в 2 кверисета но это вообще для очень веселых людей один фильтрануть по starts_with = M и order by name второй фильтрануть по starts_with != M и order by name и сделать юнион
Обсуждают сегодня