se create tabla y endpoint para paradero_linea

develop/backend
Francisco Sandoval 2023-11-01 09:52:30 -03:00
parent e1e8ca4a98
commit ddeb38cbad
5 changed files with 33 additions and 4 deletions

View File

@ -165,12 +165,12 @@ class LetreroLUR(models.Model):
color2 = models.CharField(max_length=20) color2 = models.CharField(max_length=20)
class Meta: class Meta:
managed = True managed = False
db_table = 'letrero_lur' db_table = 'letrero_lur'
class Linea(models.Model): class Linea(models.Model):
id_linea = models.CharField(max_length=150, primary_key=True) id_linea = models.CharField(max_length=150, primary_key=True, unique=True)
id_operador = models.ForeignKey('Operador', models.DO_NOTHING, db_column='id_operador', blank=True, null=True) 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_short_name = models.CharField(max_length=150, blank=True, null=True)
route_desc = models.CharField(max_length=150, blank=True, null=True) route_desc = models.CharField(max_length=150, blank=True, null=True)
@ -230,9 +230,18 @@ class ParaderoImagen(models.Model):
content_type = models.CharField(max_length=50, blank=False, null=False) content_type = models.CharField(max_length=50, blank=False, null=False)
class Meta: class Meta:
managed = True managed = False
db_table = 'paradero_imagen' db_table = 'paradero_imagen'
class ParaderoLinea(models.Model):
id_paradero_linea = models.AutoField(primary_key=True)
id_paradero = models.ForeignKey(Paradero, models.DO_NOTHING, db_column='id_paradero', blank=False, null=False)
id_linea = models.ForeignKey(Linea, models.DO_NOTHING, db_column='id_linea', blank=False, null=False)
class Meta:
managed = True
db_table = 'paradero_linea'
class Persona(models.Model): class Persona(models.Model):
rut = models.DecimalField(primary_key=True, max_digits=12, decimal_places=0) rut = models.DecimalField(primary_key=True, max_digits=12, decimal_places=0)

View File

@ -71,6 +71,11 @@ class ParaderoImagenSerializer(serializers.ModelSerializer):
representation['url'] = request.build_absolute_uri(f'/api/paraderos-image/{instance.id_paradero_imagen}/') representation['url'] = request.build_absolute_uri(f'/api/paraderos-image/{instance.id_paradero_imagen}/')
return representation return representation
class ParaderoLineaSerializer(serializers.ModelSerializer):
class Meta:
model = models.ParaderoLinea
fields = '__all__'
class OperadorSerializer(serializers.ModelSerializer): class OperadorSerializer(serializers.ModelSerializer):
class Meta: class Meta:

View File

@ -3,7 +3,7 @@ from rest_framework import routers
# from api import views # from api import views
from api.views import usuario, auth, aplicacion, tipo, persona, comuna, region, paradero, rol, rolaplicacion from api.views import usuario, auth, aplicacion, tipo, persona, comuna, region, paradero, rol, rolaplicacion
from api.views import mapa, linea, letrero_lur, operador from api.views import mapa, linea, letrero_lur, operador
from api.views import paradero_imagen from api.views import paradero_imagen, paradero_linea
from api.views import dispositivo from api.views import dispositivo
router = routers.DefaultRouter() router = routers.DefaultRouter()
@ -20,6 +20,7 @@ router.register('comunas', comuna.ComunaViewSet)
router.register('regiones', region.RegionViewSet) router.register('regiones', region.RegionViewSet)
router.register('paraderos', paradero.ParaderoViewSet) router.register('paraderos', paradero.ParaderoViewSet)
router.register('paraderos-image', paradero_imagen.ParaderoImagenListView, basename='paradero_imagen') router.register('paraderos-image', paradero_imagen.ParaderoImagenListView, basename='paradero_imagen')
router.register('paraderos-linea', paradero_linea.ParaderoLineaViewSet)
router.register('lineas', linea.LineaViewSet) router.register('lineas', linea.LineaViewSet)
router.register('letreros-lur', letrero_lur.LetreroLUR_ViewSet) router.register('letreros-lur', letrero_lur.LetreroLUR_ViewSet)
router.register('operadores', operador.OperadorViewSet) router.register('operadores', operador.OperadorViewSet)

View File

@ -2,8 +2,11 @@
from rest_framework import viewsets from rest_framework import viewsets
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.decorators import action from rest_framework.decorators import action
from django_filters.rest_framework import DjangoFilterBackend
from .. import models, serializers from .. import models, serializers
class LineaViewSet(viewsets.ModelViewSet): class LineaViewSet(viewsets.ModelViewSet):
queryset = models.Linea.objects.all() queryset = models.Linea.objects.all()
serializer_class = serializers.LineaSerializer serializer_class = serializers.LineaSerializer
filter_backends = [DjangoFilterBackend]
filterset_fields = ['id_operador', 'route_short_name', 'route_long_name']

View File

@ -0,0 +1,11 @@
from rest_framework import viewsets
from django_filters.rest_framework import DjangoFilterBackend
from api.serializers import ParaderoLineaSerializer
from api.models import ParaderoLinea
import logging
class ParaderoLineaViewSet(viewsets.ModelViewSet):
queryset = ParaderoLinea.objects.all()
serializer_class = ParaderoLineaSerializer
filter_backends = [DjangoFilterBackend]
filterset_fields = ['id_linea', 'id_paradero']