поле. И я их сортирую по значению внутри этого поля. Значение берется из request-а
queryset = self.queryset.order_by( RawSQL("property_json->>%s", (self.request.GET['sort'],)), '-edited_at').reverse()
Подобный подход работает до той поры, пока не начинаю работать с числовыми значениями. Числа он сортирует как строки т.е. 2 больше 11.
Есть вариант:
queryset = self.queryset.order_by(OrderBy(RawSQL("cast(property_json-»%s as float)",(self.request.GET['sort'],))),'-edited_at')
Но я не могу предварительно проверять, какое поле мне нужно сортировать числовое или нет.
Нужен какой-то универсальный способ. Есть мысли?
не томи
Обсуждают сегодня