Wie können Sie dies mit einer Abfrage erreichen:Django: nächstes Objekt in Zukunft erhalten oder in der Vergangenheit
upcoming_events = Event.objects.order_by('date').filter(date__gte=today)
try:
return upcoming_events[0]
except IndexError:
return Event.objects.all().order_by('-date')[0]
Meine Idee ist, so etwas zu tun:
Event.objects.filter(Q(date__gte=today) | Q(date is max date))[0]
Aber ich weiß nicht, wie man das maximale Datum implementiert. Vielleicht muss ich es einfach mit Func
machen. Oder When
oder Case
in django.db.expressions
könnte hilfreich sein.