[pyar] ModelForm.save() no devuelve objeto

Juan Cruz Piñero jpinero en fi.uncoma.edu.ar
Mie Jun 14 23:29:50 ART 2017


Asumiendo que estas trabajando en Django, que es el framework web de python
con el que más he trabajado, y que ClienteForm sea un ModelForm al cual le
seteas que tenga de modelo de base un modelo Client, o algo así...

Si estoy en lo correcto con mis suposiciones, revisá esta sección de la
documentación de Django:
https://docs.djangoproject.com/en/1.11/topics/forms/modelforms/#the-save-method
no le pasa ningún parámetro al save, al menos no el request. Debería andar
sin eso, los request pueden traer muchos atributos por lo menos "extraños"
a lo que espera el save, con lo cual podes tener comportamientos
indeseables.

Más allá de eso, revisá también si tenes definido algún metodo
__unicode__()   o __str__() para tu objeto Client, si devolves un atributo
que no se está inicializando en el form, sea porque no viene en el post
(siendo valido que no venga, ¿quizas un campo del modelo con blank=True?),
o bien que le estes pisando el metodo constructor al formulario sin tener
en cuenta que pasa cuando te viene un request...

Son muchas posibilidades y estoy adivinando en base a errores que en algun
momento debo haber cometido XD
Si no es alguno de estos temas, tratá de compartir aunque sea el codigo
donde definis el modelo, el formulario y la vista donde estas haciendo la
parte de codigo que mostras ;)



2017-06-14 22:43 GMT-03:00 Willians Vivanco <williansvi en gmail.com>:

> Hola,
>
> Tengo esto:
>
> clientForm = ClientForm(request.POST)
> if clientForm.is_valid():
>             client = clientForm.save(request=request)
>             print client
>
> Y a pesar de que el save guarda la info del formulario en la base de
> datos, el print del supuesto objeto client me devuelve *None*
>
> Alguna idea?
>
> Slds
>
> --
> Willians Vivanco
> https://ar.linkedin.com/in/williansvi
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>



-- 
Juan Cruz Piñero
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20170614/988ca5a5/attachment-0001.html>


Más información sobre la lista de distribución pyar