2023-12-05 10:34:47 -03:00
# This is an auto-generated Django model module.
# You'll have to do the following manually to clean this up:
# * Rearrange models' order
# * Make sure each model has one field with primary_key=True
# * Make sure each ForeignKey and OneToOneField has `on_delete` set to the desired behavior
# * Remove `managed = False` lines if you wish to allow Django to create, modify, and delete the table
# Feel free to rename the models, but don't rename db_table values or field names.
from django . db import models
from . validaciones import rut_valido
class Aplicacion ( models . Model ) :
id_aplicacion = models . IntegerField ( primary_key = True )
2024-01-06 12:25:12 -03:00
nombre_app = models . CharField ( max_length = 100 , blank = False , null = False )
path_app = models . CharField ( max_length = 200 , blank = False , null = False )
2023-12-05 10:34:47 -03:00
vigente = models . BooleanField ( blank = True , null = True )
class Meta :
2024-01-06 12:25:12 -03:00
managed = True
2023-12-05 10:34:47 -03:00
db_table = ' aplicacion '
class Comuna ( models . Model ) :
id_comuna = models . IntegerField ( primary_key = True )
id_region = models . ForeignKey ( ' Region ' , models . DO_NOTHING , db_column = ' id_region ' , blank = True , null = True )
nombre_comuna = models . CharField ( max_length = 100 , blank = True , null = True )
class Meta :
managed = False
db_table = ' comuna '
class Conductor ( models . Model ) :
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 )
class Meta :
managed = False
db_table = ' conductor '
class Dispositivo ( models . Model ) :
id_dispositivo = models . CharField ( primary_key = True , max_length = 100 )
id_paradero = models . ForeignKey ( ' Paradero ' , models . DO_NOTHING , db_column = ' id_paradero ' , blank = True , null = True )
vigente = models . BooleanField ( blank = True , null = True )
ultima_conexion = models . DateField ( blank = True , null = True )
id_tipo_dispositivo = models . ForeignKey ( ' TipoDispositivo ' , models . DO_NOTHING , db_column = ' id_tipo_dispositivo ' )
class Meta :
managed = False
db_table = ' dispositivo '
class Funcionario ( models . Model ) :
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 )
class Meta :
managed = False
db_table = ' funcionario '
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 )
end_time = models . TimeField ( blank = True , null = True )
headway_secs = models . IntegerField ( blank = True , null = True )
exact_time = models . IntegerField ( blank = True , null = True )
class Meta :
managed = False
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 )
class Meta :
managed = False
db_table = ' gtfs_route_type '
class GtfsShape ( models . Model ) :
id_shape = models . DecimalField ( max_digits = 18 , decimal_places = 0 )
shape_pt_lat = models . FloatField ( blank = True , null = True )
shape_pt_lon = models . FloatField ( blank = True , null = True )
shape_pt_sequence = models . IntegerField ( blank = True , null = True )
shape_dist_traveled = models . FloatField ( blank = True , null = True )
id_gtfs_pk = models . AutoField ( primary_key = True )
class Meta :
managed = False
db_table = ' gtfs_shape '
unique_together = ( ( ' id_shape ' , ' shape_dist_traveled ' ) , )
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 . 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
db_table = ' gtfs_stop_times '
unique_together = ( ( ' id_paradero ' , ' id_trip ' ) , )
class GtfsTrips ( models . Model ) :
id_trip = models . CharField ( primary_key = True , max_length = 150 )
id_linea = models . CharField ( max_length = 150 , blank = True , null = True )
id_shape = models . IntegerField ( blank = True , null = True )
id_trip_regreso = models . ForeignKey ( ' self ' , models . DO_NOTHING , db_column = ' id_trip_regreso ' , blank = True , null = True )
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 . 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 :
managed = False
db_table = ' gtfs_trips '
class LetreroLUR ( models . Model ) :
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
db_table = ' letrero_lur '
class Linea ( models . Model ) :
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 )
vigente = models . BooleanField ( 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 )
route_type = models . ForeignKey ( GtfsRouteType , models . DO_NOTHING , db_column = ' route_type ' , blank = True , null = True )
route_url = models . CharField ( max_length = 150 , blank = True , null = True )
route_color = models . CharField ( max_length = 150 , blank = True , null = True )
route_text_color = models . CharField ( max_length = 150 , blank = True , null = True )
route_long_name = models . CharField ( max_length = 200 , blank = True , null = True )
class Meta :
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 ' )
id_paradero = models . ForeignKey ( ' Paradero ' , models . DO_NOTHING , db_column = ' id_paradero ' , blank = True , null = True )
class Meta :
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 )
vigente = models . BooleanField ( blank = True , null = True )
nombre_operador = models . CharField ( max_length = 150 , blank = True , null = True )
agency_url = models . CharField ( max_length = 200 , blank = True , null = True )
agency_timezone = models . CharField ( max_length = 200 , blank = True , null = True )
agency_lang = models . CharField ( max_length = 50 , blank = True , null = True )
agency_phone = models . CharField ( max_length = 50 , blank = True , null = True )
agency_fare_url = models . CharField ( max_length = 50 , blank = True , null = True )
class Meta :
managed = False
db_table = ' operador '
class Paradero ( models . Model ) :
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 )
stop_code = models . CharField ( max_length = 100 , blank = True , null = True )
stop_name = models . CharField ( max_length = 100 , blank = True , null = True )
stop_desc = models . CharField ( max_length = 300 , blank = True , null = True )
stop_lat = models . FloatField ( blank = True , null = True )
stop_lon = models . FloatField ( blank = True , null = True )
zone_id = models . CharField ( max_length = 200 , blank = True , null = True )
stop_url = models . CharField ( max_length = 200 , blank = True , null = True )
location_type = models . CharField ( max_length = 200 , blank = True , null = True )
parent_station = models . CharField ( max_length = 200 , blank = True , null = True )
stop_timezonene_id = models . CharField ( max_length = 200 , blank = True , null = True )
wheelchair_boarding = models . DecimalField ( max_digits = 2 , decimal_places = 0 , blank = True , null = True )
class Meta :
managed = False
db_table = ' paradero '
class ParaderoImagen ( models . Model ) :
id_paradero_imagen = models . AutoField ( primary_key = True )
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
db_table = ' paradero_imagen '
class Persona ( models . Model ) :
rut = models . DecimalField ( primary_key = True , max_digits = 12 , decimal_places = 0 )
id_tipo_tratamiento = models . ForeignKey ( ' TipoTratamientoPersona ' , models . DO_NOTHING , db_column = ' id_tipo_tratamiento ' , blank = True , null = True )
id_comuna = models . ForeignKey ( Comuna , models . DO_NOTHING , db_column = ' id_comuna ' , blank = True , null = True )
dv = models . CharField ( max_length = 1 , blank = True , null = True )
nombres = models . CharField ( max_length = 100 , blank = True , null = True )
apellido_a = models . CharField ( max_length = 100 , blank = True , null = True )
apellido_b = models . CharField ( max_length = 100 , blank = True , null = True )
fono = models . CharField ( max_length = 100 , blank = True , null = True )
email = models . CharField ( max_length = 100 , blank = True , null = True )
fecha_nacimiento = models . DateField ( blank = True , null = True )
direccion = models . CharField ( max_length = 100 , blank = True , null = True )
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 :
rut_completo = f ' { self . rut } - { self . dv } '
if not rut_valido ( rut_completo ) :
raise Exception ( f ' RUT { rut_completo } , no es valido! ' )
super ( ) . save ( * args , * * kwargs )
class Region ( models . Model ) :
id_region = models . IntegerField ( primary_key = True )
nombre_region = models . CharField ( max_length = 100 )
class Meta :
managed = False
db_table = ' region '
class Rol ( models . Model ) :
id_rol = models . IntegerField ( primary_key = True )
nombre_rol = models . CharField ( max_length = 100 )
class Meta :
managed = False
db_table = ' rol '
class RolAplicacion ( models . Model ) :
id_rol_app = models . AutoField ( primary_key = True )
2024-01-06 12:25:12 -03:00
id_aplicacion = models . ForeignKey ( Aplicacion , models . DO_NOTHING , db_column = ' id_aplicacion ' , blank = False , null = False )
id_rol = models . ForeignKey ( Rol , models . DO_NOTHING , db_column = ' id_rol ' , blank = False , null = False )
solo_visualizar = models . BooleanField ( blank = True , null = True )
2023-12-05 10:34:47 -03:00
class Meta :
2024-01-06 12:25:12 -03:00
managed = True
2023-12-05 10:34:47 -03:00
db_table = ' rol_aplicacion '
unique_together = ( ( ' id_aplicacion ' , ' id_rol ' ) , )
class SpatialRefSys ( models . Model ) :
srid = models . IntegerField ( primary_key = True )
auth_name = models . CharField ( max_length = 256 , blank = True , null = True )
auth_srid = models . IntegerField ( blank = True , null = True )
srtext = models . CharField ( max_length = 2048 , blank = True , null = True )
proj4text = models . CharField ( max_length = 2048 , blank = True , null = True )
class Meta :
managed = False
db_table = ' spatial_ref_sys '
class TipoDispositivo ( models . Model ) :
id_tipo_dispositivo = models . IntegerField ( primary_key = True )
descripcion = models . CharField ( max_length = 50 )
class Meta :
managed = False
db_table = ' tipo_dispositivo '
class TipoParadero ( models . Model ) :
id_tipo_paradero = models . IntegerField ( primary_key = True )
descripcion = models . CharField ( max_length = 100 , blank = True , null = True )
class Meta :
managed = False
db_table = ' tipo_paradero '
class TipoTransporte ( models . Model ) :
id_tipo_transporte = models . IntegerField ( primary_key = True )
descripcion = models . CharField ( max_length = 50 , blank = True , null = True )
class Meta :
managed = False
db_table = ' tipo_transporte '
class TipoTratamientoPersona ( models . Model ) :
id_tipo_tratamiento = models . IntegerField ( primary_key = True )
tratamiento = models . CharField ( max_length = 50 , blank = True , null = True )
class Meta :
managed = False
db_table = ' tipo_tratamiento_persona '
db_table_comment = ' Establece el tratamiento de como dirigirse hacia una persona: \r \n Ejemplo \r \n Señor \r \n Señora \r \n Srta '
class TipoVehiculo ( models . Model ) :
id_tipo_vehiculo = models . IntegerField ( primary_key = True )
descripcion = models . CharField ( max_length = 100 , blank = True , null = True )
class Meta :
managed = False
db_table = ' tipo_vehiculo '
class Usuario ( models . Model ) :
login = models . CharField ( primary_key = True , max_length = 60 )
rut = models . ForeignKey ( Persona , models . DO_NOTHING , db_column = ' rut ' , blank = True , null = True )
vigente = models . BooleanField ( blank = True , null = True )
superuser = models . BooleanField ( blank = True , null = True )
2024-01-06 12:25:12 -03:00
id_rol = models . ForeignKey ( Rol , models . DO_NOTHING , db_column = ' id_rol ' , blank = False , null = False )
2024-01-27 00:26:58 -03:00
clave = models . CharField ( max_length = 100 , blank = True , null = True )
2023-12-05 10:34:47 -03:00
class Meta :
managed = False
db_table = ' usuario '
class Vehiculo ( models . Model ) :
ppu = models . CharField ( primary_key = True , max_length = 10 )
id_tipo_vehiculo = models . ForeignKey ( TipoVehiculo , models . DO_NOTHING , db_column = ' id_tipo_vehiculo ' , blank = True , null = True )
vigente = models . BooleanField ( blank = True , null = True )
class Meta :
managed = False
db_table = ' vehiculo '
class VehiculoLinea ( models . Model ) :
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 ' ) , )
2024-01-06 12:25:12 -03:00
class RolLinea ( models . Model ) :
id_rol_linea = models . AutoField ( primary_key = True )
id_rol = models . ForeignKey ( Rol , models . DO_NOTHING , db_column = ' id_rol ' )
id_linea = models . ForeignKey ( Linea , models . DO_NOTHING , db_column = ' id_linea ' )
class Meta :
managed = True
db_table = ' rol_linea '
unique_together = ( ( ' id_rol ' , ' id_linea ' ) , )
2024-01-29 20:18:11 -03:00
class RedTransporte ( models . Model ) :
id_red = models . CharField ( primary_key = True , max_length = 10 )
nombre_red = models . CharField ( max_length = 100 , blank = True , null = True )
descripcion = models . CharField ( max_length = 1000 , blank = True , null = True )
url_gtfs_rt = models . CharField ( max_length = 100 , blank = True , null = True )
api_key = models . CharField ( max_length = 100 , blank = True , null = True )
vigente = models . BooleanField ( blank = True , null = True )
class Meta :
managed = False
db_table = ' red_transporte '
db_table_comment = ' Tabla que contiene las diferentes tipos de red de transporte, como son los de transporte publico, trenes, colectivos, etc. '
class GtfsArchivo ( models . Model ) :
id_gtfs = models . AutoField ( primary_key = True )
id_red = models . ForeignKey ( ' RedTransporte ' , models . DO_NOTHING , db_column = ' id_red ' , blank = True , null = True )
archivo = models . CharField ( max_length = 200 , blank = True , null = True )
ruta_archivo = models . CharField ( max_length = 200 , blank = True , null = True )
valid_from = models . DateField ( blank = True , null = True )
created = models . DateTimeField ( blank = True , null = True )
usuario = models . CharField ( max_length = 100 , blank = True , null = True )
vigente = models . BooleanField ( blank = True , null = True )
status = models . CharField ( max_length = 100 , blank = True , null = True )
class Meta :
managed = False
db_table = ' gtfs_archivo '
db_table_comment = ' Registro de los archivos GTFS que se cargan en el sistema '