Я пытаюсь упорядочить набор запросов так, чтобы:
- первыми элементами набора запросов были те, которые имеют логический атрибут ForeignKey (
first
), установленный в True, и среди них,они упорядочены по дате создания - . Следующие элементы - это элементы с атрибутом ForeignKey
first
, установленным в False, и опять же среди них они упорядочены по дате создания
.пример моделей:
class A(models.Model):
first = models.BooleanField(blank=False, default=False)
class B(models.Model):
a = models.ForeignKey(A)
created = models.DateTimeField(auto_now_add=True)
Набор запросов выглядит следующим образом:
queryset = B.objects.all().order_by("-a__first", "-created")
Однако этот сниппер не выполняет свою работу.
Решение, которое я 'Я думаю о том, чтобы использовать два разных вызова базы данных (один фильтр для a__first = True и другой фильтр для a__first = False), а затем суммировать результаты наборов запросов.Но я хотел бы понять, есть ли лучший и более чистый способ решения этой проблемы.