как быстро получить три максимальных значения из базы данных Джанго?
попробовал Base.objects.order_by('value')[0:3] но это работало пока было мало записей. сейчас каждое упорядочивание занимает три секунды гдето а количество записей растет. Есть более быстрый способ?
Ответы (2 шт):
Автор решения: bolt_py
→ Ссылка
В модели попробуйте объявите сортировку по полю:
class Base(models.Model)
...
# Здесь объявлены ваши поля
...
class Meta:
ordering = ['value']
Автор решения: Sergey Tatarincev
→ Ссылка
не очень красиво, но можно сырым запросом, но для разных СУБД запрос немного будет отличаться. Для sqlite и mysql будет как-то так
Base.objects.raw('SELECT * FROM myapp_Base order by value limit 3')