title: Django-forms validation problem at initialization
body: <p>I have a problem about validation of form fields in Django.</p>
  
  <p>I have a <code>profile_edit</code> form it has a set of <code>clean</code> functions. Also, in order to control the current password, I need to pass current user's password to the form. </p>
  
  <pre><code>email = forms.EmailField(label=_("member_Email"),required = True)
  currentPassword = forms.CharField(label=_("member_currentPassword"),widget=forms.PasswordInput,required=False)
  newPassword = forms.CharField(label=_("member_newPassword"),widget=forms.PasswordInput,required=False)
  newPasswordRe = forms.CharField(label=_("member_newPasswordRe"),widget=forms.PasswordInput,required=False)
  emailPreference = forms.ChoiceField(label=_("member_email_preference"), widget=forms.RadioSelect(renderer=HorizRadioRenderer),choices = UserMailPreference.USER_MAIL_PREF,required = True)
  gender = forms.ChoiceField(label=_("member_gender"), widget=forms.RadioSelect(renderer=HorizRadioRenderer),choices = UserGender.USER_GENDER ,required = False)
  birthYear = forms.ChoiceField(label=_("member_birthyear"),required = False)
  education = forms.ChoiceField(label=_("member_education"),choices = UserEducation.USER_EDU, required = False)
  
  def __init__(self,*args, **kwargs):
      super(MemberSettings,self).__init__(*args, **kwargs)
      now = datetime.datetime.now()
      self.fields["birthYear"].choices = birthYearList
  
  def set_user(self, user):
      self.user = user
  
  def clean_email(self):
      field_data = self.cleaned_data['email']
  
      if not field_data:
          return ''
  
      try:
          u = User.objects.get(email=field_data)
          if not u.id == self.user.id:
              raise forms.ValidationError(_('err_already_registered'))
      except ObjectDoesNotExist:
          pass
  
      return field_data
  </code></pre>
  
  <p>By using the <code>set_user</code> method I can pass the current user to form however, when I write</p>
  
  <pre><code>form = MemberSettings(default_data)
  form.set_user(u)
  </code></pre>
  
  <p>in my view, form tries to validate all the fields although I just try to initialize the form.
  But if I do not set the user, form works normal.</p>
  
  <p>What is the problem that I can't notice ?</p>
  
  <p>Thanks</p>