﻿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
6625	Overriding the default field types in a ModelForm doesn't maintain core field arguments	stp2007 <stp2007@…>	nobody	"Using !ModelForm to generate a form class for cWilt. When overriding the default field type (for age in this example) field arguments 'verbose_name', 'help_text' and 'default' defined in the original model do not seem to be maintained and do not display correctly in the form. For example, help_text doesn't display at all and the label displayed is ""Age"" not ""Age - VName""


{{{
# **************************
class cWilt(Model):
    summary = models.CharField(max_length=60, core=True, help_text = 'Summary: help text defined in Model', verbose_name  = ""Summary - VName"", )
    p_notes = models.TextField(blank=True, help_text='Notes: help text defined in Model', verbose_name  = ""Notes - VName"",)
    title = models.CharField(max_length=3, choices=returnTitleChoices(), help_text = 'Title: help text defined in Model', verbose_name  = ""Title - VName"",)
    age = models.IntegerField(max_length=3, help_text = 'Must be a non-zero value', verbose_name  = ""Age - VName"",)

# **************************
class cWiltForm(ModelForm):
    age = IntegerFieldNonZero()
    class Meta:
        model = cWilt
        fields = ('summary', 'p_notes', 'title', 'age')

# **************************
class IntegerFieldNonZero(fields.IntegerField):
    default_error_messages = {
        'zero': _(u'Value cannot be zero'),
    }
    
    def clean(self, value):
        value = super(IntegerFieldNonZero, self).clean(value)
        if value == 0:
            raise ValidationError(self.error_messages['zero'])
        return value
}}}
"		closed	Forms	dev		invalid	ModelForm		Unreviewed	0	0	0	0	0	0
