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)
class Meta:
managed = True
managed = False
db_table = 'letrero_lur'
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)
route_short_name = 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)
class Meta:
managed = True
managed = False
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):
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}/')
return representation
class ParaderoLineaSerializer(serializers.ModelSerializer):
class Meta:
model = models.ParaderoLinea
fields = '__all__'
class OperadorSerializer(serializers.ModelSerializer):
class Meta:

View File

@ -3,7 +3,7 @@ from rest_framework import routers
# from api import views
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 paradero_imagen
from api.views import paradero_imagen, paradero_linea
from api.views import dispositivo
router = routers.DefaultRouter()
@ -20,6 +20,7 @@ router.register('comunas', comuna.ComunaViewSet)
router.register('regiones', region.RegionViewSet)
router.register('paraderos', paradero.ParaderoViewSet)
router.register('paraderos-image', paradero_imagen.ParaderoImagenListView, basename='paradero_imagen')
router.register('paraderos-linea', paradero_linea.ParaderoLineaViewSet)
router.register('lineas', linea.LineaViewSet)
router.register('letreros-lur', letrero_lur.LetreroLUR_ViewSet)
router.register('operadores', operador.OperadorViewSet)

View File

@ -2,8 +2,11 @@
from rest_framework import viewsets
from rest_framework.response import Response
from rest_framework.decorators import action
from django_filters.rest_framework import DjangoFilterBackend
from .. import models, serializers
class LineaViewSet(viewsets.ModelViewSet):
queryset = models.Linea.objects.all()
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']