[pyar] Django, modificar modelform

Martin Dimondo martin.dimondo en gmail.com
Dom Jul 19 20:53:18 ART 2015


En principio está bien si solo tu caso es para dar de alta un nuevo
registro en tu base de datos.

Si con modificar los valores te referís al caso de una edición de un objeto
que se encontraba persistido, es porque previo tenes que recuperarlo:

...
if request.method == 'POST':
    lic_a_modificar = Licencia.objects.get(pk = 1) # Donde 1 te llegaria
via url o bien en un hidden del post
    lic_form = LicenciaForm(request.POST, instance=lic_a_modificar)
    if lic_form.is_valid():
        lic_form.save()
...

Para el caso de crear un nuevo objeto basta con el código que habias puesto
(sin pasar el instance al form)

Saludos

Martin Dimondo

El 19 de julio de 2015, 20:18, Cristian Vazquez <cristianvazquez4 en gmail.com>
escribió:

> Es un modelForm. Mi tempalte es {{form}}
>
> Osea, en principio deberia funcionar?
>
> El 19 de julio de 2015, 8:15 p. m., Martin Dimondo<
> martin.dimondo en gmail.com> escribió:
>
>> Hola Cristian!
>>
>> Te hago algunas consultas para entender un poco más:
>>
>> 1. LicenciaForm hereda de ModelForm?
>> 2. Qué resulta de evaluar licencia.is_valid()? (Podés consultar el
>> atributo licencia.errors luego de invocar el is_valid para poder ver los
>> errores, ayudate de pdb: import pdb; pdb.set_trace() )
>> 3. El render del formulario en tu template es {{ form }} o renderizas
>> campo a campo? Si renderizas campo a campo, por las dudas corroborá si no
>> falta uno (al menos a mí me sucede seguido, sobre intento darle un poco más
>> de forma al form)
>>
>> Saludos,
>>
>> Martin Dimondo
>>
>> 2015-07-19 19:28 GMT-03:00 Cristian Vazquez <cristianvazquez4 en gmail.com>:
>>
>>> buenas ,Como va?
>>>
>>> Generé un formulario de un modelo.
>>>
>>> LicenciaForm(instance=licencia) .
>>>
>>> Eso lo renderizo en un html. Modifico un campo y luego ocurre lo
>>> siguiente:
>>>
>>> if request.method == "POST":
>>>
>>>        licencia = LicenciaForm(request.POST)
>>>        if licencia.is_valid():
>>>               licencia.save()
>>>
>>> pero sin embargo no se modifica. ¿Alguna idea?
>>>
>>> --
>>> Saludos.
>>> Cristian
>>>
>>> _______________________________________________
>>> pyar mailing list pyar en python.org.ar
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>>
>>
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
>
> --
> Saludos.
> Cristian
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150719/caca5ba9/attachment.html>


More information about the pyar mailing list