Так что этот сверхдлинный запрос почти работает по мере необходимости:
context['user_artists'] = Artist.objects.filter(users=current_profile) \
.prefetch_related(Prefetch('release_groups',
queryset=ReleaseGroup.objects.filter(release_date__isnull=False,
release_date__gte=startdate)
.order_by('release_date'), to_attr='rgs')) \
.annotate(next_release=Max('release_groups__release_date')).order_by(F('next_release').desc(nulls_last=True))
По сути, это ставит все нулевые значения в последнюю очередь, НО - поскольку я хочу СРОЧНЫЙ следующий выпуск, это не 'т работа.Это ставит на первое место ДАЛЬШЕ следующего выпуска.
Мне нужен следующий порядок:
- Исполнитель X - дата следующего выпуска: 6.12.18
- Исполнитель Y - следующийдата выпуска: 6.31.18
- Artist Z - следующая дата выпуска: Null
Что я получаю:
- Artist Y - следующий выпускдата: 6.31.18
- Artist X - дата следующего выпуска: 6.12.18
- Artist Z - дата следующего выпуска: Null