title: Django change password issue, super(type, obj): obj must be an instance or subtype of type
body: <p>i'm having some trouble with my changepassword form, it continues to give me the same error:  super(type, obj): obj must be an instance or subtype of type</p>
  
  <p>this is my form:</p>
  
  <pre><code>class PasswordChangeForm(forms.Form):
      current_password = forms.CharField(label=u'Current Password', widget=forms.PasswordInput(render_value=False))
      new_password = forms.CharField(label=u'New Password', widget=forms.PasswordInput(render_value=False))
      retyped_password = forms.CharField(label=u'Retype New Password', widget=forms.PasswordInput(render_value=False))
  
      def __init__(self, data=None, user=None, *args, **kwargs):
          self.user = user
          super(UserProfileEditForm, self).__init__(data=data, *args, **kwargs)
  
      def clean_current_password(self):
          cleaned_data = self.cleaned_data
          current_password = cleaned_data.get('current_password', '')
  
          if not self.user.check_password(current_password):
              raise ValidationError('Wrong current password.')
  
          return current_password
  
      def clean(self):
          cleaned_data = self.cleaned_data
          new_password = cleaned_data.get('new_password', '')
          retyped_password = cleaned_data.get('retyped_password', '')
  
          if len(new_password) == 0 or len(retyped_password) == 0:
              raise ValidationError('Blank password fields.')
  
          if new_password != retyped_password:
              raise ValidationError('New password and retyped password do not match.')
  
          return cleaned_data
  
      def save(self):
          self.user.set_password(new_password)
          return self.user
  </code></pre>
  
  <p>any ideas?</p>