﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
27992	Cleaned form values does not save to model	Pavel Patrin	nobody	"Example

{{{
class MyModel(Model):
    my_field = TextField(default='')


class MyModelForm(ModelForm):
    class Meta:
        model = MyModel
        fields = ('my_field',)

    def clean_my_field(self):
        return 'cleaned_value'  # Or complex logic


form = MyModelForm({})
form.save()

result = MyModelForm.objects.get()

# This is true
result.my_field != 'cleaned_value'
}}}


This happens, because Django applies model attributes like this:

{{{
def construct_instance(form, instance, fields=None, exclude=None):
    # ... code
    for f in opts.fields:
        # ... code
        # Leave defaults for fields that aren't in POST data, except for
        # checkbox inputs because they don't appear in POST data if not checked.
        if (f.has_default() and form[f.name].field.widget.value_omitted_from_data(form.data, form.files, form.add_prefix(f.name))):
            continue
        # ... code
    # ... code
    return instance
}}}

So Django skips fields that has default value, but not present in raw data. Why?"	Bug	closed	Forms	1.10	Normal	invalid	model, form		Unreviewed	0	0	0	0	0	0
