Added Flight class
This commit is contained in:
36
simulator/models/flight.py
Normal file
36
simulator/models/flight.py
Normal file
@@ -0,0 +1,36 @@
|
||||
from django.db import models
|
||||
from .carrier import Carrier
|
||||
from .aircraft import Equipment
|
||||
from .aerodrome import Aerodrome
|
||||
from django.core.validators import MinValueValidator, MaxValueValidator
|
||||
|
||||
|
||||
class Flight(models.Model):
|
||||
carrier = models.ForeignKey(
|
||||
Carrier, on_delete=models.CASCADE, related_name="flights"
|
||||
)
|
||||
equipment = models.ForeignKey(
|
||||
Equipment, on_delete=models.CASCADE, related_name="flights"
|
||||
)
|
||||
origin = models.ForeignKey(
|
||||
Aerodrome, on_delete=models.CASCADE, related_name="departures"
|
||||
)
|
||||
destination = models.ForeignKey(
|
||||
Aerodrome, on_delete=models.CASCADE, related_name="arrivals"
|
||||
)
|
||||
|
||||
flight_number = models.PositiveIntegerField(
|
||||
validators=[MinValueValidator(1), MaxValueValidator(9999)]
|
||||
)
|
||||
departure_time = models.DateTimeField()
|
||||
arrival_time = models.DateTimeField()
|
||||
|
||||
class Meta:
|
||||
constraints = [
|
||||
models.UniqueConstraint(
|
||||
fields=["carrier", "flight_number"], name="unique_flight_per_carrier"
|
||||
)
|
||||
]
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.carrier.icao}{self.flight_number} {self.origin.icao} > {self.destination.icao}"
|
Reference in New Issue
Block a user