On 5 mei, 14:39, "Karen Tracey" <[EMAIL PROTECTED]> wrote: > On Mon, May 5, 2008 at 7:08 AM, LaundroMat <[EMAIL PROTECTED]> wrote: > > On 1 mei, 13:43, "Karen Tracey" <[EMAIL PROTECTED]> wrote: > > > On Thu, May 1, 2008 at 7:22 AM, LaundroMat <[EMAIL PROTECTED]> wrote: > > > > > Hi - > > > > > Would it be possible to subclass a form class, and in that subclass > > > > define that one of the fields that were required in the parent class > > > > are no longer required in the subclass? > > > > You mean like this? > > > > >>> from django import newforms as forms > > > >>> class Form1(forms.Form): > > > > ... f1 = forms.CharField() > > > ... f2 = forms.CharField() > > > ... f3 = forms.CharField() > > > ...>>> class Form2(forms.Form): > > > > ... f1 = forms.CharField(required=False) > > > ... > > > > >>> f1inst = Form1({'f2': 'x', 'f3': 'y'}) > > > >>> f2inst = Form2({'f2': 'x', 'f3': 'y'}) > > > >>> f1inst.is_valid() > > > False > > > >>> f2inst.is_valid() > > > True > > > > Karen > > > Yes, but I'd like Form2 be a subclass of Form1, so that it also has > > the f2 and f3 attributes. > > Oops, I forgot to base Form2 on Form1. So you mean like this: > > >>> from django import newforms as forms > >>> class Form1(forms.Form): > > ... f1 = forms.CharField() > ... f2 = forms.CharField() > ... f3 = forms.CharField() > ...>>> class Form2(Form1): > > ... f1 = forms.CharField(required=False) > ...>>> f1inst = Form1({'f2': 'x', 'f3': 'y'}) > >>> f2inst = Form2({'f2': 'x', 'f3': 'y'}) > >>> f1inst.is_valid() > False > >>> f2inst.is_valid() > True > >>> f2inst.fields > > {'f1': <django.newforms.fields.CharField object at 0x850672c>, 'f2': > <django.newforms.fields.CharField object at 0x850678c>, 'f3': > <django.newforms.fields.CharField object at 0x85067cc>} > > > > which seems to do what you want? Or am I missing something again? > > Karen
Dang. There I was, trying to access f2inst's fields by treating them as if they were attributes (ie f2inst.f1, f2inst.f2 etc), which of course did not work. Thanks for the help! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---