У меня есть следующие модели:
class Clients(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
address = models.CharField(max_length=200, verbose_name="Morada")
nif = models.CharField(max_length=9, verbose_name="NIF", validators=[RegexValidator(r'^\d{1,10}$')], unique=True, null=True)
mobile = models.CharField(max_length=9, verbose_name="Telemóvel", validators=[RegexValidator(r'^\d{1,10}$')])
class Flight(models.Model):
date = models.DateTimeField(default=datetime.now, blank=True, verbose_name="Data")
flight_id = models.CharField(max_length=10, verbose_name="Ref. Voo")
company = models.ForeignKey(AirCompany, null=True, on_delete=models.SET_NULL, verbose_name="Companhia")
airport = models.ForeignKey(Airport, null=True, on_delete=models.SET_NULL, verbose_name="Aeroporto")
class Trip(models.Model):
trip_id = models.CharField(max_length=20, verbose_name="Ref. Viagem", primary_key=True)
destination = models.CharField(max_length=200, null=True, verbose_name='Destino')
client = models.ForeignKey(Clients, null=True, on_delete=models.CASCADE, verbose_name="Cliente")
out_flight = models.ForeignKey(Flight, related_name="outbound_flight" ,null=True, on_delete=models.SET_NULL, verbose_name="Voo Ida")
hotel = models.ForeignKey(Hotels, null=True, on_delete=models.SET_NULL, verbose_name="Hotel")
in_flight = models.ForeignKey (Flight, related_name="inbound_flight", null=True, on_delete=models.SET_NULL, verbose_name="Voo Regresso")
Зная, что Flight
и Clients
являются ForeignKey в Trip
, как я могу получить всех клиентов, у которых есть рейсы после этого?
Я использовал Going = Flight.objects.filter(date__gt=datetime.now()).order_by('date')
, чтобы получить все рейсы, отправляющиеся после этого, но мне также нужно узнать, какие клиенты отправляются сейчас.