Посмотрите на этот похожий вопрос: Хорошие способы сортировки набора запросов?- Django
Вы не можете использовать мета ordering
модели, так как она принимает только одно поле
https://docs.djangoproject.com/en/dev/ref/models/options/#ordering
Вы не можете использовать запросorder_by('creation_date', 'birthdate')
, поскольку он сортирует только по дате рождения, если они имеют одинаковые creation_date
Таким образом, вы можете написать собственный менеджер, который будет включать в себя пользовательскую сортировку для вас.
import operator
class CarManager(models.Manager):
def get_query_set(self):
auths = super(CarManager, self).get_query_set().all().order_by('-creation')
ordered = sorted(auths, key=operator.attrgetter('birthday'))
return ordered
class Car(models.Model):
sorted = CarManager()
так что теперь вы можете запросить:
Car.sorted.all()
, чтобы получить весь набор запросов отсортированного автомобиля