У меня есть модель в приложении Django, который выглядит, как этотDjango - запрос на TimeField, как сравнивать раз?
class Flight(models.Model):
code = models.CharField(max_length = 15, primary_key = True)
airline = models.ForeignKey(Airline)
departure_airport = models.ForeignKey(Airport, related_name='flight_departure')
departure_time = models.TimeField()
arriving_airport = models.ForeignKey(Airport, related_name='flight_arriving')
arriving_time = models.TimeField()
aircraft = models.ForeignKey(Aircraft)
теперь я хотел бы получить только рейсы, отправляющиеся после текущего времени. Для этого я попытался следующие на консоли:
from datetime import *
time = datetime.time(datetime.now())
f = Flight.objects.filter(departure_time > time)
После выполнения предыдущих заявлений, которые я получаю следующее сообщение об ошибке:
Traceback (most recent call last):
File "<console>", line 1, in <module>
NameError: name 'departure_time' is not defined
Кроме того, если бы я попробовать следующее я также получаю подобную ошибку :
f = Flight.objects.filter(departure_time > '12:00:00')
Однако, это работает:
f = Flight.objects.filter(departure_time = '12:00:00')
print f
[<Flight: LH17>]
Я был бы очень благодарен, если бы кто-нибудь мог сообщить вам, как сравнивать (запрос) раз в поле TimeField?
Спасибо.
Для тех, кто ищет дополнительную информацию, ознакомьтесь с этой [link] (https://docs.djangoproject.com/en/dev/ref/models/querysets/#id4) – Octavio