Тег last
работает, разрезая список, чтобы получить последний элемент, используя формат отрицательного индекса: collection[-1]
.Но, как указывается в сообщении об ошибке, для наборов запросов отрицательная индексация не поддерживается.
Вероятно, самый простой способ решить эту проблему - создать новый метод в вашей модели Promotion
, который будет возвращать последнее назначение:
class Promotion(models.Model):
... fields, etc ...
def get_last_appointment(self):
try:
return self.appointment_set.all().order_by('-date')[0]
except IndexError:
pass
и позвоните по шаблону:
{{ promotion.get_last_appointment.date|date }}