se recontruye models
parent
4c2d63fc2e
commit
282c9a76ef
|
@ -30,7 +30,7 @@ class Comuna(models.Model):
|
|||
|
||||
|
||||
class Conductor(models.Model):
|
||||
patente = models.ForeignKey('Vehiculo', models.DO_NOTHING, db_column='patente', blank=True, null=True)
|
||||
patente = models.OneToOneField('Vehiculo', models.DO_NOTHING, db_column='patente', primary_key=True)
|
||||
rut = models.ForeignKey('Persona', models.DO_NOTHING, db_column='rut', blank=True, null=True)
|
||||
vigente = models.BooleanField(blank=True, null=True)
|
||||
|
||||
|
@ -51,7 +51,7 @@ class Dispositivo(models.Model):
|
|||
|
||||
|
||||
class Funcionario(models.Model):
|
||||
rut = models.ForeignKey('Persona', models.DO_NOTHING, db_column='rut', blank=True, null=True)
|
||||
rut = models.OneToOneField('Persona', models.DO_NOTHING, db_column='rut', primary_key=True)
|
||||
id_operador = models.ForeignKey('Operador', models.DO_NOTHING, db_column='id_operador', blank=True, null=True)
|
||||
desde = models.DateField(blank=True, null=True)
|
||||
hasta = models.DateField(blank=True, null=True)
|
||||
|
@ -61,34 +61,6 @@ class Funcionario(models.Model):
|
|||
db_table = 'funcionario'
|
||||
|
||||
|
||||
class GtfsCalendar(models.Model):
|
||||
service_id = models.CharField(primary_key=True, max_length=150)
|
||||
monday = models.BooleanField(blank=True, null=True)
|
||||
tuesday = models.BooleanField(blank=True, null=True)
|
||||
wednesday = models.BooleanField(blank=True, null=True)
|
||||
thursday = models.BooleanField(blank=True, null=True)
|
||||
friday = models.BooleanField(blank=True, null=True)
|
||||
saturday = models.BooleanField(blank=True, null=True)
|
||||
sunday = models.BooleanField(blank=True, null=True)
|
||||
start_date = models.DateField(blank=True, null=True)
|
||||
end_date = models.DateField(blank=True, null=True)
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
db_table = 'gtfs_calendar'
|
||||
|
||||
|
||||
class GtfsCalendarDates(models.Model):
|
||||
service_id = models.DecimalField(primary_key=True, max_digits=8, decimal_places=0) # The composite primary key (service_id, date) found, that is not supported. The first column is selected.
|
||||
date = models.CharField(max_length=10)
|
||||
exception_type = models.DecimalField(max_digits=2, decimal_places=0, blank=True, null=True)
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
db_table = 'gtfs_calendar_dates'
|
||||
unique_together = (('service_id', 'date'),)
|
||||
|
||||
|
||||
class GtfsFrequencie(models.Model):
|
||||
id_trip = models.ForeignKey('GtfsTrips', models.DO_NOTHING, db_column='id_trip', blank=True, null=True)
|
||||
start_time = models.TimeField(blank=True, null=True)
|
||||
|
@ -101,6 +73,30 @@ class GtfsFrequencie(models.Model):
|
|||
db_table = 'gtfs_frequencie'
|
||||
|
||||
|
||||
class GtfsPosiciones(models.Model):
|
||||
id = models.UUIDField(primary_key=True)
|
||||
trip_id = models.UUIDField()
|
||||
route_id = models.IntegerField()
|
||||
direction_id = models.SmallIntegerField(blank=True, null=True)
|
||||
start_time = models.TimeField(blank=True, null=True)
|
||||
start_date = models.DateField(blank=True, null=True)
|
||||
schedule_relationship = models.SmallIntegerField(blank=True, null=True)
|
||||
vehicle_license_plate = models.CharField(max_length=10, blank=True, null=True)
|
||||
latitude = models.FloatField(blank=True, null=True)
|
||||
longitude = models.FloatField(blank=True, null=True)
|
||||
bearing = models.IntegerField(blank=True, null=True)
|
||||
odometer = models.IntegerField(blank=True, null=True)
|
||||
speed = models.FloatField(blank=True, null=True)
|
||||
stop_sequence = models.IntegerField(blank=True, null=True)
|
||||
stop_id = models.IntegerField(blank=True, null=True)
|
||||
arrival_time = models.BigIntegerField(blank=True, null=True)
|
||||
hora_llegada = models.DateTimeField(blank=True, null=True)
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
db_table = 'gtfs_posiciones'
|
||||
|
||||
|
||||
class GtfsRouteType(models.Model):
|
||||
id_route_type = models.DecimalField(primary_key=True, max_digits=2, decimal_places=0)
|
||||
descripcion = models.CharField(max_length=100, blank=True, null=True)
|
||||
|
@ -127,9 +123,14 @@ class GtfsShape(models.Model):
|
|||
class GtfsStopTimes(models.Model):
|
||||
id_paradero = models.OneToOneField('Paradero', models.DO_NOTHING, db_column='id_paradero', primary_key=True) # The composite primary key (id_paradero, id_trip) found, that is not supported. The first column is selected.
|
||||
id_trip = models.ForeignKey('GtfsTrips', models.DO_NOTHING, db_column='id_trip')
|
||||
arrival_time = models.TimeField(blank=True, null=True)
|
||||
arrival_time = models.CharField(max_length=15, blank=True, null=True)
|
||||
stop_sequence = models.IntegerField(blank=True, null=True)
|
||||
stop_headsign = models.CharField(max_length=100, blank=True, null=True)
|
||||
departure_time = models.CharField(max_length=15, blank=True, null=True)
|
||||
drop_off_type = models.IntegerField(blank=True, null=True)
|
||||
shape_dist_traveled = models.FloatField(blank=True, null=True)
|
||||
timepoint = models.IntegerField(blank=True, null=True)
|
||||
pickup_type = models.IntegerField(blank=True, null=True)
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
|
@ -145,7 +146,7 @@ class GtfsTrips(models.Model):
|
|||
trip_headsign = models.CharField(max_length=100, blank=True, null=True)
|
||||
trip_short_name = models.CharField(max_length=100, blank=True, null=True)
|
||||
direction_id = models.IntegerField(blank=True, null=True)
|
||||
service_id = models.DecimalField(max_digits=8, decimal_places=0, blank=True, null=True, db_comment='de calendario')
|
||||
service_id = models.CharField(max_length=50, blank=True, null=True, db_comment='de calendario')
|
||||
block_id = models.CharField(max_length=50, blank=True, null=True)
|
||||
|
||||
class Meta:
|
||||
|
@ -154,15 +155,15 @@ class GtfsTrips(models.Model):
|
|||
|
||||
|
||||
class LetreroLUR(models.Model):
|
||||
codigo = models.CharField(max_length=10, primary_key=True)
|
||||
linea1 = models.CharField(max_length=50, blank=False, null=False)
|
||||
linea2 = models.CharField(max_length=50)
|
||||
linea3 = models.CharField(max_length=50)
|
||||
linea4 = models.CharField(max_length=50)
|
||||
bgcolor1 = models.CharField(max_length=20)
|
||||
color1 = models.CharField(max_length=20)
|
||||
bgcolor2 = models.CharField(max_length=20)
|
||||
color2 = models.CharField(max_length=20)
|
||||
codigo = models.CharField(primary_key=True, max_length=10)
|
||||
linea1 = models.CharField(max_length=50)
|
||||
linea2 = models.CharField(max_length=50, blank=True, null=True)
|
||||
linea3 = models.CharField(max_length=50, blank=True, null=True)
|
||||
linea4 = models.CharField(max_length=50, blank=True, null=True)
|
||||
bgcolor1 = models.CharField(max_length=20, blank=True, null=True)
|
||||
color1 = models.CharField(max_length=20, blank=True, null=True)
|
||||
bgcolor2 = models.CharField(max_length=20, blank=True, null=True)
|
||||
color2 = models.CharField(max_length=20, blank=True, null=True)
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
|
@ -170,7 +171,7 @@ class LetreroLUR(models.Model):
|
|||
|
||||
|
||||
class Linea(models.Model):
|
||||
id_linea = models.CharField(max_length=150, primary_key=True, unique=True)
|
||||
id_linea = models.CharField(primary_key=True, max_length=150)
|
||||
id_operador = models.ForeignKey('Operador', models.DO_NOTHING, db_column='id_operador', blank=True, null=True)
|
||||
route_short_name = models.CharField(max_length=150, blank=True, null=True)
|
||||
route_desc = models.CharField(max_length=150, blank=True, null=True)
|
||||
|
@ -184,6 +185,7 @@ class Linea(models.Model):
|
|||
managed = False
|
||||
db_table = 'linea'
|
||||
|
||||
|
||||
class LineaParadero(models.Model):
|
||||
id_linea_paradero = models.AutoField(primary_key=True)
|
||||
id_linea = models.ForeignKey(Linea, models.DO_NOTHING, db_column='id_linea')
|
||||
|
@ -193,6 +195,7 @@ class LineaParadero(models.Model):
|
|||
managed = False
|
||||
db_table = 'linea_paradero'
|
||||
|
||||
|
||||
class Operador(models.Model):
|
||||
id_operador = models.CharField(primary_key=True, max_length=150)
|
||||
id_region = models.ForeignKey('Region', models.DO_NOTHING, db_column='id_region', blank=True, null=True)
|
||||
|
@ -210,7 +213,7 @@ class Operador(models.Model):
|
|||
|
||||
|
||||
class Paradero(models.Model):
|
||||
id_paradero = models.IntegerField(primary_key=True)
|
||||
id_paradero = models.CharField(primary_key=True, max_length=50)
|
||||
id_comuna = models.ForeignKey(Comuna, models.DO_NOTHING, db_column='id_comuna', blank=True, null=True)
|
||||
id_tipo_paradero = models.ForeignKey('TipoParadero', models.DO_NOTHING, db_column='id_tipo_paradero', blank=True, null=True)
|
||||
vigente = models.BooleanField(blank=True, null=True)
|
||||
|
@ -233,9 +236,9 @@ class Paradero(models.Model):
|
|||
|
||||
class ParaderoImagen(models.Model):
|
||||
id_paradero_imagen = models.AutoField(primary_key=True)
|
||||
id_paradero = models.ForeignKey(Paradero, models.DO_NOTHING, db_column='id_paradero', blank=False, null=False)
|
||||
imagen = models.BinaryField(blank=False, null=False)
|
||||
content_type = models.CharField(max_length=50, blank=False, null=False)
|
||||
id_paradero = models.ForeignKey(Paradero, models.DO_NOTHING, db_column='id_paradero')
|
||||
imagen = models.BinaryField(blank=True, null=True)
|
||||
content_type = models.CharField(max_length=50, blank=True, null=True)
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
|
@ -258,7 +261,7 @@ class Persona(models.Model):
|
|||
class Meta:
|
||||
managed = False
|
||||
db_table = 'persona'
|
||||
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
# validacion se realiza solo si se esta creando el registro
|
||||
if self._state.adding:
|
||||
|
@ -288,10 +291,10 @@ class Rol(models.Model):
|
|||
|
||||
|
||||
class RolAplicacion(models.Model):
|
||||
id_rol_app = models.AutoField(primary_key=True)
|
||||
id_aplicacion = models.ForeignKey(Aplicacion, models.DO_NOTHING, db_column='id_aplicacion') # The composite primary key (id_aplicacion, id_rol) found, that is not supported. The first column is selected.
|
||||
id_aplicacion = models.ForeignKey(Aplicacion, models.DO_NOTHING, db_column='id_aplicacion')
|
||||
id_rol = models.ForeignKey(Rol, models.DO_NOTHING, db_column='id_rol')
|
||||
solo_visualizar = models.BooleanField(blank=True, null=True)
|
||||
id_rol_app = models.AutoField(primary_key=True)
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
|
@ -313,7 +316,7 @@ class SpatialRefSys(models.Model):
|
|||
|
||||
class TipoDispositivo(models.Model):
|
||||
id_dispositivo = models.ForeignKey(Dispositivo, models.DO_NOTHING, db_column='id_dispositivo', blank=True, null=True)
|
||||
id_tipo_dispositivo = models.IntegerField(blank=True, null=True)
|
||||
id_tipo_dispositivo = models.IntegerField(primary_key=True)
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
|
@ -367,19 +370,6 @@ class Usuario(models.Model):
|
|||
managed = False
|
||||
db_table = 'usuario'
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
# validacion se realiza solo si se esta creando el registro
|
||||
if self._state.adding:
|
||||
condition = models.Q(login=self.login) | models.Q(rut=self.rut)
|
||||
usuario = Usuario.objects.filter(condition).first()
|
||||
if usuario:
|
||||
if usuario.login == self.login:
|
||||
raise Exception(f"Usuario [{self.login}] ya existe!")
|
||||
else:
|
||||
raise Exception(f"Usuario con RUT [{self.rut}] ya existe!")
|
||||
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
|
||||
class UsuarioClave(models.Model):
|
||||
login = models.OneToOneField(Usuario, models.DO_NOTHING, db_column='login', primary_key=True)
|
||||
|
@ -414,10 +404,11 @@ class Vehiculo(models.Model):
|
|||
|
||||
|
||||
class VehiculoLinea(models.Model):
|
||||
patente = models.ForeignKey(Vehiculo, models.DO_NOTHING, db_column='patente', blank=True, null=True)
|
||||
id_linea = models.CharField(max_length=150, blank=True, null=True)
|
||||
patente = models.OneToOneField(Vehiculo, models.DO_NOTHING, db_column='patente', primary_key=True) # The composite primary key (patente, id_linea) found, that is not supported. The first column is selected.
|
||||
id_linea = models.ForeignKey(Linea, models.DO_NOTHING, db_column='id_linea')
|
||||
vigente = models.BooleanField(blank=True, null=True)
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
db_table = 'vehiculo_linea'
|
||||
unique_together = (('patente', 'id_linea'),)
|
||||
|
|
Loading…
Reference in New Issue