[pyar] [django] Rest framework

Claudio Freire klaussfreire en gmail.com
Jue Mayo 14 18:41:46 ART 2015


2015-05-14 18:40 GMT-03:00 Claudio Freire <klaussfreire en gmail.com>:
> 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.


Perdón, HTTPError es de tornado, pero en Django es parecido:

http://stackoverflow.com/questions/23492000/how-to-return-http-400-response-in-django


More information about the pyar mailing list