es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Solo estoy obteniendo un objeto en el método POST dentro de APIView del Django Rest Framework incluso si he utilizado ScrapyItem.objects.all(). ¿Alguien sabe por qué?

¿Alguien sabe cómo solucionar esto? Solo obtengo un objeto en el método post dentro de APIView de Django Rest Framework, incluso si usé ScrapyItem.objects.all(). ¿Alguien sabe por qué?

class ScrapyViewSet(APIView):
def get(self, request, format=None):
snippets = ScrapyItem.objects.all()
serializer =ScrapySerializer(snippets, many=True)
return Response(serializer.data)

    def post(self, request):
        snippets = ScrapyItem.objects.all()
        domain=request.data['domain']
        print(domain)

        for i in snippets:
            print(i)
            if i.domain==domain:
                return Response({"status": "success", "data": str(i.data)}, status=status.HTTP_200_OK) 

            else:
                return Response({"status": "error", "data": 'error'}, status=status.HTTP_400_BAD_REQUEST)
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que no estás iterando a través del objeto snippets en tu método post. Deberías iterar a través del objeto snippets y comprobar si el dominio coincide con el dominio en el objeto snippets.

    Intenta cambiar tu método post por el siguiente:

    def post(self, request):
        snippets = ScrapyItem.objects.all()
        domain=request.data['domain']
        print(domain)
    
        for i in snippets:
            print(i)
            if i.domain==domain:
                return Response({"status": "success", "data": str(i.data)}, status=status.HTTP_200_OK) 
    
        return Response({"status": "error", "data": 'error'}, status=status.HTTP_400_BAD_REQUEST)
    

Comments are closed.