Enzo Yair

eliminacion de metodos en api

... ... @@ -8,7 +8,6 @@ from .models import Edicto, Precio
from .serializer import EdictoSerializer, PrecioSerializer
from .filters import EdictoFilter, PrecioFilter
from .permissions import IsAdminOrAuthorized
from .utils import contador
class EdictoViewSet(mixins.CreateModelMixin,
... ... @@ -26,30 +25,6 @@ class EdictoViewSet(mixins.CreateModelMixin,
ordering = ('fecha_publicacion',)
lookup_field = 'uuid'
def perform_create(self, serializer):
edicto = self.request.data.get('cuerpo_edicto')
cantidad_palabras = contador(edicto)
usuario = self.request.user
serializer.save(cantidad_palabras=cantidad_palabras,
usuario=usuario,
usuario_movimiento=usuario,
)
def partial_update(self, request, *args, **kwargs):
instance = self.get_object()
serializer = self.get_serializer(instance, data=request.data, partial=True)
serializer.is_valid(raise_exception=True)
edicto = request.data.get('cuerpo_edicto')
cantidad_palabras = contador(edicto)
usuario = self.request.user
serializer.save(cantidad_palabras=cantidad_palabras,
usuario_movimiento=usuario,
)
return Response(serializer.data, status=status.HTTP_200_OK)
class PrecioViewSet(viewsets.ReadOnlyModelViewSet):
serializer_class = PrecioSerializer
... ...
... ... @@ -5,6 +5,7 @@ from .constants import EXTENSIONES_VALIDAS
from .models import Edicto, Precio
from usuario.serializers import UsuarioListaSerializer
from .utils import contador
class EdictoSerializer(serializers.ModelSerializer):
... ... @@ -30,10 +31,6 @@ class EdictoSerializer(serializers.ModelSerializer):
'fecha_modificacion'
)
extra_kwargs = {
'archivo': {'read_only': True},
'cantidad_palabras': {'read_only': True}
}
read_only_fields = ('usuario', 'usuario_movimiento',
'fecha_publicacion', 'cantidad_palabras',
... ... @@ -41,6 +38,14 @@ class EdictoSerializer(serializers.ModelSerializer):
'fecha_modificacion',
)
def validate(self, data):
edicto = data.get('cuerpo_edicto', '')
cantidad_palabras = contador(edicto)
data['cantidad_palabras'] = cantidad_palabras
data['usuario'] = self.context['request'].user
data['usuario_movimiento'] = self.context['request'].user
return data
@staticmethod
def validate_archivo(value):
filename, extension = value.name.rsplit(".", 1)
... ...