Truncate trip id
This commit is contained in:
@ -230,7 +230,7 @@ class Route(models.Model):
|
||||
agency = models.ForeignKey(
|
||||
to="Agency",
|
||||
on_delete=models.CASCADE,
|
||||
verbose_name=_("Agency ID"),
|
||||
verbose_name=_("Agency"),
|
||||
related_name="routes",
|
||||
)
|
||||
|
||||
@ -272,6 +272,12 @@ class Route(models.Model):
|
||||
blank=True,
|
||||
)
|
||||
|
||||
transport_type = models.CharField(
|
||||
max_length=255,
|
||||
verbose_name=_("Transport type"),
|
||||
choices=TransportType,
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.long_name}"
|
||||
|
||||
@ -346,6 +352,11 @@ class Trip(models.Model):
|
||||
null=True,
|
||||
)
|
||||
|
||||
last_update = models.DateTimeField(
|
||||
verbose_name=_("Last update"),
|
||||
null=True,
|
||||
)
|
||||
|
||||
@property
|
||||
def origin(self):
|
||||
return self.stop_times.order_by('stop_sequence').first().stop
|
||||
@ -354,16 +365,30 @@ class Trip(models.Model):
|
||||
def destination(self):
|
||||
return self.stop_times.order_by('-stop_sequence').first().stop
|
||||
|
||||
@property
|
||||
def departure_time(self):
|
||||
dep_time = self.stop_times.order_by('stop_sequence').first().departure_time
|
||||
hours = int(dep_time.total_seconds() // 3600)
|
||||
minutes = int((dep_time.total_seconds() % 3600) // 60)
|
||||
return f"{hours:02}:{minutes:02}"
|
||||
|
||||
@property
|
||||
def arrival_time(self):
|
||||
arr_time = self.stop_times.order_by('-stop_sequence').first().arrival_time
|
||||
hours = int(arr_time.total_seconds() // 3600)
|
||||
minutes = int((arr_time.total_seconds() % 3600) // 60)
|
||||
return f"{hours:02}:{minutes:02}"
|
||||
|
||||
@property
|
||||
def train_type(self):
|
||||
if self.service.transport_type == TransportType.TRANSILIEN:
|
||||
if self.route.transport_type == TransportType.TRANSILIEN:
|
||||
return self.route.short_name
|
||||
else:
|
||||
return self.origin.stop_type
|
||||
|
||||
@property
|
||||
def train_number(self):
|
||||
if self.service.transport_type == TransportType.TRANSILIEN:
|
||||
if self.route.transport_type == TransportType.TRANSILIEN:
|
||||
return self.short_name
|
||||
else:
|
||||
return self.headsign
|
||||
@ -389,7 +414,8 @@ class Trip(models.Model):
|
||||
return "000000"
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.route.long_name} - {self.id}"
|
||||
return f"{self.origin.name} {self.departure_time} → {self.destination.name} {self.arrival_time}" \
|
||||
f" - {self.service_id}"
|
||||
|
||||
class Meta:
|
||||
verbose_name = _("Trip")
|
||||
@ -470,7 +496,7 @@ class StopTime(models.Model):
|
||||
return f"{hours:02}:{minutes:02}"
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.trip.route.long_name} - {self.trip_id} - {self.stop.name}"
|
||||
return f"{self.stop.name} - {self.trip_id}"
|
||||
|
||||
class Meta:
|
||||
verbose_name = _("Stop time")
|
||||
@ -558,12 +584,6 @@ class CalendarDate(models.Model):
|
||||
choices=ExceptionType,
|
||||
)
|
||||
|
||||
transport_type = models.CharField(
|
||||
max_length=255,
|
||||
verbose_name=_("Transport type"),
|
||||
choices=TransportType,
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.service.id} - {self.date} - {self.exception_type}"
|
||||
|
||||
|
Reference in New Issue
Block a user