Django: Insert choice is neglected in form init -


in model, have charfield few choices:

surface_choices = (         ('as', _('asphalt')),           ('co', _('concrete')),          ('ot', _('other')), ) surface = models.charfield(choices = roof_surface_choices,          max_length = 2, blank = true, null = true,) 

i avoid ------- choice in dropdown boxes in form, , replace more descriptive text.

i used following line in __init__ method of forms.py

def __init__(self, auto_id='%s', *args, **kwargs):     super(surfaceupdateform, self).__init__(*args, **kwargs)     self.fields['surface'].choices.insert(0,('', _('please choose surface'))) 

however, in current app, first line remains ------- , not replaced stated text above. there better way set blank values?

the ------- appears because field has blank=true, is, optional. django mechanics kinda hard understand, can override choices:

def __init__(self, auto_id='%s', *args, **kwargs):     super(surfaceupdateform, self).__init__(*args, **kwargs)     self.fields['surface'].choices = [('', _('please choose surface'))] + mymodel.surface_choices 

Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -