Your init is expecting a value for field3_type, so you need to provide
it when you create the form in your view (prior to request.POST in the
postback instance).

On Jul 12, 2:44 pm, Nick <nickt...@gmail.com> wrote:
> I am working on a validation that will require a field be filled in if
> it is another field enters on of three values:
>
> For example:
>
> I have a form
>
> class myform(forms.Modelform):
>     field1 = forms.CharField
>     field2 = forms.Charfield
>     field3_type = forms.CharField(choices=choices)
>     field3 = forms.DateTimeField(required=True)
>
>     def __init__(self, field3_type, *args, **kwargs):
>         super(myform, self_.__init__(*args, **kwargs)
>         if field3_type in ('option 1', 'option 2', 'option 3'):
>             self.field['field3'] = forms.DateTiemField(required=False)
>
> The view:
> if request.method == 'POST':
>             form = myform(request.POST)
>             field3_type = form.cleaned_data['field3_type']
>             if form.is_valid():
>             # some form processing
> else:
>            form = myform()
>
> When i try to use the form I get an error at the myform() line stating
> that __init__ takes exactyl 2 arguments and only 1 is given.
>
> Any thoughts?

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to