<div dir="ltr">Podes hacer un validate_cuit(), de una manera muy parecida a "clean_" en un form. [1]<div><br></div><div><span style="font-size:12.8000001907349px">class ClienteSerializer(serializers.</span><span style="font-size:12.8000001907349px">ModelSerializer):</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">    class Meta:</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">        model = Cliente</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">        fields = ('id', 'razon_social', 'cond_iva', 'direccion', 'ciudad', 'cuit')</span><br clear="all" style="font-size:12.8000001907349px"><div style="font-size:12.8000001907349px"><div></div></div><div><br></div><div>    def validate_cuit(self, value):</div><div>        """</div><div>        Check valid CUIT</div><div>        """</div><div>        if cuit_valid(value):</div><div>            raise serializers.ValidationError("Invalid CUIT")</div><div>        return value</div></div><div><br></div><div>** Código sin probar</div><div><br></div><div>[1] <a href="http://www.django-rest-framework.org/api-guide/serializers/#validation">http://www.django-rest-framework.org/api-guide/serializers/#validation</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-05-14 18:28 GMT-03:00 Daniel <span dir="ltr"><<a href="mailto:dmlistapython@gmail.com" target="_blank">dmlistapython@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hola Gente, <br><br></div>tengo este serializador:<br><br>class ClienteSerializer(serializers.ModelSerializer):<br>    class Meta:<br>        model = Cliente<br>        fields = ('id', 'razon_social', 'cond_iva', 'direccion', 'ciudad', 'cuit')<br clear="all"><div><div><div><br><br></div><div>resulta que el cuit (que sea válido) lo evalúo a nivel modelo, si envio un cuit invalido me genera una excepción.<br><br></div><div>El problema es que la API me devuelve un error 500 con el error,<br></div><div>¿como capturo ese error desde el serializador y lo devuelvo como un 400 con un mensaje elegante?<br><br><br></div></div></div></div>
<br>_______________________________________________<br>
pyar mailing list <a href="mailto:pyar@python.org.ar">pyar@python.org.ar</a><br>
<a href="http://listas.python.org.ar/listinfo/pyar" target="_blank">http://listas.python.org.ar/listinfo/pyar</a><br>
<br>
PyAr - Python Argentina - Sitio web: <a href="http://www.python.org.ar/" target="_blank">http://www.python.org.ar/</a><br>
<br>
La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - <a href="http://www.usla.org.ar" target="_blank">http://www.usla.org.ar</a><br></blockquote></div><br></div>