create - Aumentar el error de validación en Pre_Save con Django Rest Framework
django rest framework return status code (1)
Use las excepciones del marco de reposo django . Por ejemplo:
from rest_framework.exceptions import ParseError
...
parsed_data = self.parse(some_data)
if not parsed_data:
raise ParseError(''Some error occurred'')
También tenga en cuenta que no verá un 404 allí, porque usa la excepción django.http.Http404. Estos son devueltos por la API de una manera agradable.
Nota:
Si está realizando una cantidad significativa de validación, es posible que desee consultar la ubicación de su lógica en el serializador .
Tengo dificultades para generar un error de validación con el Marco de descanso de Django.
Tengo un campo de propietario. El campo de propietario necesita acceder al objeto de solicitud. La documentación sugiere usar el siguiente enfoque :
def pre_save(self, obj):
obj.owner = self.request.user
Mi problema es cómo generar un error de validación si este código falla. Intenté generar un error dentro del método pre_save, pero esto no funciona correctamente. En realidad, da como resultado una respuesta HTML que vuelve de Django, en lugar de un mensaje del Django Rest Framework.