fix save imagen paradero

master/backend
Francisco Sandoval 2023-09-09 08:55:23 -03:00
parent c5ba9f2000
commit 1c01f6b063
2 changed files with 24 additions and 51 deletions

View File

@ -1,51 +1,8 @@
from rest_framework import viewsets, filters
from rest_framework.decorators import action, schema, api_view
from rest_framework.parsers import MultiPartParser
from rest_framework.generics import ListAPIView
from django.http import JsonResponse, HttpResponse
from django_filters.rest_framework import DjangoFilterBackend
from .. import models, serializers
from ..schemas import ParaderoImageSchema
from PIL import Image
import io
import coreapi
from rest_framework import viewsets
from api.serializers import ParaderoSerializer
from api.models import Paradero
import logging
class ParaderoViewSet(viewsets.ModelViewSet):
queryset = models.Paradero.objects.all()
serializer_class = serializers.ParaderoSerializer
# class ParaderoImagenListView(ListAPIView):
# queryset = models.ParaderoImagen.objects.all()
# serializer_class = serializers.ParaderoImagenSerializer
# filter_backends = [filters.SearchFilter]
# search_fields = ['id_paradero']
"""
def retrieve(self, request, pk):
data = models.ParaderoImagen.objects.filter(id_paradero_imagen = pk).first()
response = HttpResponse(content_type=data.content_type)
response['Content-Disposition'] = 'inline'
response.write(data.imagen)
return response
def create(self, request, pk = None):
imagen = request.FILES['imagen']
id_paradero = request.data.get('id_paradero')
content_type = imagen.content_type
imagen_bytea = imagen.read()
paradero = models.Paradero.objects.filter(id_paradero = id_paradero).first()
paradero_imagen = models.ParaderoImagen(
id_paradero = paradero,
imagen = imagen_bytea,
content_type = content_type
)
paradero_imagen.save()
return JsonResponse({ 'ok': True })
"""
queryset = Paradero.objects.all()
serializer_class = ParaderoSerializer

View File

@ -1,7 +1,7 @@
from rest_framework import generics, viewsets
from django_filters.rest_framework import DjangoFilterBackend
from django.http import HttpResponse
from api.models import ParaderoImagen
from django.http import HttpResponse, JsonResponse
from api.models import ParaderoImagen, Paradero
from api.serializers import ParaderoImagenSerializer
class ParaderoImagenListView(generics.ListAPIView, viewsets.ModelViewSet):
@ -16,3 +16,19 @@ class ParaderoImagenListView(generics.ListAPIView, viewsets.ModelViewSet):
response['Content-Disposition'] = 'inline'
response.write(data.imagen)
return response
def create(self, request, pk = None):
imagen = request.FILES['imagen']
id_paradero = request.data.get('id_paradero')
content_type = imagen.content_type
imagen_bytea = imagen.read()
paradero = Paradero.objects.filter(id_paradero = id_paradero).first()
paradero_imagen = ParaderoImagen(
id_paradero = paradero,
imagen = imagen_bytea,
content_type = content_type
)
paradero_imagen.save()
return JsonResponse({ 'ok': True })