Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

368
Vistas
Personalizar la excepción NotFound --- Django REST Framework

Suponga una aplicación mínima con un modelo de person , un ModelSerializer y un ReadOnlyModelViewSet correspondiente.

Solo existe una entrada en la base de datos por lo que al solicitar /person/1 la respuesta correcta es:

 { "name": "RandomName1" }

Al solicitar /person/2 la respuesta es:

 { "detail": "Not found." }

Quiero personalizar esto.

Aunque leí la documentación , no está claro cómo puedo personalizar esto.

Debo aclarar que estoy buscando personalizar esto, según la vista. Por ejemplo /person/2 debería devolver:

 { "detail": "Person 2 was not found." }

y /address/3 debería devolver:

 { "detail": "Address 3 was not found." }
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Parece que desea manejar las respuestas que tienen un código de estado 404. Modificando el ejemplo de la documentación vinculada:

 from rest_framework.views import exception_handler def custom_exception_handler(exc, context): response = exception_handler(exc, context) if response.data['status_code'] == 404: try: response.data['detail'] = "{name} {id} was not found.".format( name=context['view'].verbose_name, id=context['kwargs']['id'] # this may need tweaking ) except AttributeError: pass return response

Luego agregue el verbose_name correspondiente a su vista.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda