У меня есть представление bookingrecordsView
, в котором я получаю все бронирования, сделанные пользователем. Я добавил модельную функцию is_pending()
, которая выбирает экземпляр резервирования, проверяет, прошло ли поле date_to
или нет, и возвращает строку.
Вид, который выбирает бронирования:
def bookingrecordsView(request):
rsv = Reservation.objects.filter(user=request.user)
return render(request, 'booking_history_page.html', {'rsv': rsv})
И функция, которая проверяет дату:
class Reservation (models.Model):
....
@property
Def is_pending(self):
if self.date_to < datetime.date.today():
return "Pending"
else:
return "Over"
Это мой шаблонный фрагмент:
{% for r in rsv %}
<tr>
<td>{{ r.id }}</td>
<td>{{ r.date_from }} - {{ r.date_to }}</td>
<td>{{ r.time_from }} - {{ r.time_to }}</td>
<td>{{ r.chosen_vehicle }}</td>
<td>{{ r.garage }}</td>
<td>{{ r.destination }}</td>
<td>{{ r.is_pending }}</td>
</tr>
{% endfor %}
Теперь, для всех бронирований, даже прошедших месяцами ранее, этот status
всегда возвращает «Ожидание».
Как получить правильное возвращаемое значение для каждого Reservation
экземпляра из функции is_pending()
и передать его соответственно в шаблон?