﻿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
6473	Overriding ModelForm __init__ messes up instance	Charlie DeTar	nobody	"Here's a model and two !ModelForm classes for it:


{{{
from django import newforms as forms
from django.newforms import ModelForm
from django.db import models

class MyModel(models.Model):
    my_field = models.CharField(max_length = 50)

class NormalModelForm(ModelForm):
    class Meta:
        model = MyModel

class OverridingModelForm(ModelForm):
    def __init__(self, *args, **kwargs):
        super(OverridingModelForm, self).__init__(args, kwargs)
    class Meta:
        model = MyModel

}}}

""!NormalModelForm"" behaves as expected.  However, ""!OverridingModelForm"" which overrides {{{__init__}}} loses the data in its ""instance"", even though it calls {{{super.__init__}}}.

Test case:

{{{
>>> model = MyModel(my_field = 'happiness')
>>> normal_form = NormalModelForm(instance = model)
>>> normal_form.instance.my_field
'happiness'
>>> overriding_form = OverridingModelForm(instance = model)
>>> overriding_form.instance.my_field
''
>>> 
}}}
"		closed	Forms	dev		worksforme	ModelForm __init__ instance		Unreviewed	0	0	0	0	0	0
