admin_transporte_backend/project/api/views/rol.py

23 lines
890 B
Python
Raw Normal View History

2023-12-05 10:34:47 -03:00
from rest_framework import viewsets
2024-02-25 14:17:40 -03:00
from rest_framework.response import Response
from api import models, serializers
from django.db.models import Max
2023-12-05 10:34:47 -03:00
class RolViewSet(viewsets.ModelViewSet):
queryset = models.Rol.objects.all()
2024-01-07 13:16:13 -03:00
serializer_class = serializers.RolSerializer
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_rol', None):
2024-02-25 14:17:40 -03:00
max_id = models.Rol.objects.aggregate(Max('id_rol'))['id_rol__max']
2024-01-07 13:16:13 -03:00
new_id = max_id + 1 if max_id is not None else 1
request.data['id_rol'] = new_id
2024-02-25 14:17:40 -03:00
return super().create(request, *args, **kwargs)
def destroy(self, request, pk=None):
try:
return super().destroy(request, pk)
except Exception as ex:
return Response(str(ex), status=400)