I had a working save method in my form and once i upgraded it is acting very strange and i cannot seem to debug the source of the problem

I have a simple form inheriting from ModelForm, within I've overrode the save method to save some external atteibutes 

below is my code 

```
class UserProfileForm(ExtendedMetaModelForm):
    """
    UserProfileForm

    """
    _genders = (
        ('M', _('Male')),
        ('F', _('Female')),
        )

    birthday            = forms.DateField(
        widget=extras.SelectDateWidget(attrs={'class' : 'span1'},years=(range(1930, datetime.now().year-14))),
        label   =   _('Birthday'),
        required=   False,
        error_messages  = {
            'required' : _('Birthday is required.')
        }

    )
    gender            = forms.CharField(
        label   =   _('Gender'),
        widget  =   forms.Select(choices=_genders)
    )
    bio             = forms.CharField(required=False, widget=forms.Textarea(attrs={'rows' : '4'}))

    class Meta:
        model = User
        fields = ('first_name', 'last_name', 'bio', 'birthday', 'gender', 'email',)

    def __init__(self, *args, **kwargs):
        super(UserProfileForm, self).__init__(*args, **kwargs)

        if self.instance:
            self.fields['email'].widget.attrs['readonly'] = True
            self.fields['birthday'].initial = self.instance.get_profile().birthday
            self.fields['bio'].initial = self.instance.get_profile().bio

        for i in self.fields:
            if isinstance(self.fields[i], forms.CharField):
                self.fields[i].widget.attrs["class"]       = 'input-xlarge'

    def save(self, *args, **kw):
        super(UserProfileForm, self).save(*args, **kw)
        self.instance.get_profile().bio           = self.cleaned_data.get('bio')
        self.instance.get_profile().birthday      = self.cleaned_data.get('birthday')
        self.instance.get_profile().save()

```

the above was working fine, right now. On initializing the form, it is retrieving the initial values of bio, birthday from the profile.

but, when saving it is moving on without any action. My profile model is very basic and the save method there is not altered it is using the original operations from models.Model

Can any one advise on why this is happening? 

P.S no error is returned, it is just not saving anything

**Update (added the ExtendedMetaModelForm class):**

```
class ExtendedMetaModelForm(forms.ModelForm):
    """
    Allow the setting of any field attributes via the Meta class.
    """
    def __init__(self, *args, **kwargs):
        """
        Iterate over fields, set attributes from Meta.field_args.
        """
        super(ExtendedMetaModelForm, self).__init__(*args, **kwargs)
        if hasattr(self.Meta, "field_args"):
            # Look at the field_args Meta class attribute to get
            # any (additional) attributes we should set for a field.
            field_args = self.Meta.field_args
            # Iterate over all fields...
            for fname, field in self.fields.items():
                # Check if we have something for that field in field_args
                fargs = field_args.get(fname)
                if fargs:
                    # Iterate over all attributes for a field that we
                    # have specified in field_args
                    for attr_name, attr_val in fargs.items():
                        if attr_name.startswith("+"):
                            merge_attempt = True
                            attr_name = attr_name[1:]
                        else:
                            merge_attempt = False
                        orig_attr_val = getattr(field, attr_name, None)
                        if orig_attr_val and merge_attempt and\
                           type(orig_attr_val) == dict and\
                           type(attr_val) == dict:
                            # Merge dictionaries together
                            orig_attr_val.update(attr_val)
                        else:
                            # Replace existing attribute
                            setattr(field, attr_name, attr_val)

```