[pyar] Django - Formsets ¿Como marcar como requerido solo al primer formulario?

Angel Freire cuerty en gmail.com
Vie Mar 13 12:44:11 ART 2015


2015-03-13 11:54 GMT-03:00 Juan Carizza <juan.carizza en gmail.com>:

> Hola! Creo que el required lo tenes que setear por field, entonces setea
> los fields del segundo formulario en required=False.
>
> 2015-03-13 10:58 GMT-03:00 Gerardo Benitez <gbenitez en kiusys.com>:
>
> Hola Gente,
>>
>> Estoy usando formsets y quiero marcar como requeridos los campos de solo
>> el primer formulario del set.
>>
>> Como se hace esto?
>>
>> Gracias de antemano.
>>
>> --
>> Gerrdo Benitez
>> Desarrollo
>> KIU System Solutions
>> gbenitez en kiusys.com
>> www.kiusys.com
>>
>>
>>
>>
>> ************************************************************
>> *****************************
>>
>> Este mensaje y todos los archivos adjuntos a él son para uso exclusivo
>> del destinatario y pueden contener información confidencial o propietaria,
>> cuya divulgación es sancionada por ley.
>>
>> Si usted recibió este mensaje erróneamente, por favor notifíquenos
>> respondiendo al remitente, borre el mensaje original y destruya las copias
>> (impresas o grabadas en cualquier medio magnético) que pueda haber
>> realizado del mismo.
>>
>> Todas las opiniones contenidas en este mail son propias del autor del
>> mensaje y no necesariamente coinciden con las de KIU System Solutions o
>> alguna de las empresas accionistas. La publicación, uso, copia e impresión
>> total o parcial de este mensaje o documentos adjuntos queda prohibida.
>>
>> ************************************************************
>> *******************************
>>
>> This message and any attachments are for exclusive usage of an addressee
>> and may contain confidential or privileged information whose disclosure is
>> subject to penalty by law.
>>
>> If you are not the addressee, please notify the sender by return e-mail,
>> delete the original message and destroy any existing copy no matter if
>> printed or recorded.
>>
>> Any opinions contained in this e-mail are those of the author of the
>> message and do not necessarily coincide with those of  KIU System Solutions
>> or its shareholders. No part of this message or attachments may be used or
>> reproduced in any manner whatsoever.
>>
>> _______________________________________________
>> 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
>

Creo que lo que podes hacer es sobre escribir algunos metodos de
BaseFormSet [0].

En lugar de pasarle tu formulario a formset_factory directamente:

>>> from django.forms.formsets import formset_factory
>>> ArticleFormSet = formset_factory(ArticleForm)

Podrias usar una version propia de BaseFormSet:

>>> from django.forms.formsets import BaseFormSet
>>> from django.forms.formsets import formset_factory
>>> from myapp.forms import ArticleForm

>>> class BaseArticleFormSet(BaseFormSet): pass
>>> ArticleFormSet = formset_factory(ArticleForm,
formset=BaseArticleFormSet)

En esa clase, que acá simplemente la defini pero no toque nada, podrías
alterar ciertos metodos como "def forms(self)" y pasarle algún parametro
especial al constructor de de tu form.Form (o ModelForm) que uses en el
__init__ de esa clase para pisar si el field es requiered o no.

Igual fijate si lo que queres hacer no se puede hacer mejor con
BaseFormSet.add_fields: "A hook for adding extra fields on to each form
instance."

[0]
https://docs.djangoproject.com/en/1.7/_modules/django/forms/formsets/#BaseFormSet

-- 
http://blog.cuerty.com

"If you want to set off and go develop some grand new thing, you don't need
millions of dollars of capitalization. You need enough pizza and Diet Coke
to stick in your refrigerator, a cheap PC to work on and the dedication to
go through with it."
- John Carmack
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150313/ae0de618/attachment.html>


More information about the pyar mailing list