[pyar] [django] Rest framework

Claudio Freire klaussfreire en gmail.com
Jue Mayo 14 18:40:19 ART 2015


2015-05-14 18:28 GMT-03:00 Daniel <dmlistapython en gmail.com>:
> Hola Gente,
>
> tengo este serializador:
>
> class ClienteSerializer(serializers.ModelSerializer):
>     class Meta:
>         model = Cliente
>         fields = ('id', 'razon_social', 'cond_iva', 'direccion', 'ciudad',
> 'cuit')
>
>
> resulta que el cuit (que sea válido) lo evalúo a nivel modelo, si envio un
> cuit invalido me genera una excepción.
>
> El problema es que la API me devuelve un error 500 con el error,
> ¿como capturo ese error desde el serializador y lo devuelvo como un 400 con
> un mensaje elegante?


Hace falta bastante más detalle acerca de la excepción.

Pero lo estándar sería algo estilo:

try:
    serialize(cuit)
except ValueError:
    raise HTTPError(400, "bad cuit")

Y, si está metido adentro de un objeto más complejo, el except va a
tener que inspeccionar el error que atrapa y tratar de identificar qué
atributo tiene problemas.


More information about the pyar mailing list