ilab_gestion_backend/project/api/views/gtfs_archivo.py

24 lines
1.0 KiB
Python
Raw Normal View History

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 rest_framework import status
from .. import models , serializers
from django.db import models as dj_models
class GtfsArchivoViewSet(viewsets.ModelViewSet):
queryset = models.GtfsArchivo.objects.all()
serializer_class = serializers.GtfsArchivoSerializer
filter_backends = [DjangoFilterBackend]
2024-01-29 22:20:08 -03:00
filterset_fields = ['id_gtfs', 'id_red', 'archivo','valid_from','created','usuario','vigente','status']
def create(self, request, *args, **kwargs):
# se indica que si no se indico el id, entonces sea el maximo + 1
if not request.data.get('id_gtfs', None):
max_id = models.GtfsArchivo.objects.aggregate(dj_models.Max('id_gtfs'))['id_gtfs__max']
new_id = max_id + 1 if max_id is not None else 1
request.data['id_gtfs'] = new_id
return super().create(request, *args, **kwargs)