в ответ возвращает не в том же порядке по которому я делаю а по другому сначала obshchestvo потом ekonomika и тд.
Как сделать так чтобы орм соблюдал порядок?
Добавь ордер бу
order_by по слагу?
Скорее всего придется кастовать ордер индекс по индексу листа и его юзать в ордер бае Но почему слаг у тебя не слаг?
Order by > case > when then Такой подход есть
` from django.db.models import Case, When field_list = [8, 3, 6, 4] preserved = Case(*[When(field=field, then=position) for position, field in enumerate(field_list)]) queryset = MyModel.objects.filter(field__i SELECT * FROM MyModel ORDER BY CASE WHEN id=8 THEN 0 WHEN id=3 THEN 1 WHEN id=6 THEN 2 WHEN id=4 THEN 3 END;
Обсуждают сегодня