'Override that uses the form field\'s ``save_object_data()``.'

def _save_m2m(self):

    cleaned_data = self.cleaned_data
    exclude = self._meta.exclude
    fields = self._meta.fields
    opts = self.instance._meta
    handled = []
    for (name, field) in self.fields.items():
        if (not hasattr(field, 'save_relation_data')):
            continue
        field.save_relation_data(self.instance, name, cleaned_data[name])
        handled.append(name)
    for f in chain(opts.many_to_many, opts.virtual_fields):
        if (f.name in handled):
            continue
        if (not hasattr(f, 'save_form_data')):
            continue
        if (fields and (f.name not in fields)):
            continue
        if (exclude and (f.name in exclude)):
            continue
        if (f.name in cleaned_data):
            f.save_form_data(self.instance, cleaned_data[f.name])
