Ich habe ein Feld in meinem Modell:
TYPES_CHOICES = (
(0, _(u'Worker')),
(1, _(u'Owner')),
)
worker_type = models.PositiveSmallIntegerField(max_length=2, choices=TYPES_CHOICES)
Wenn ich es in ModelForm verwende, hat es den leeren Wert "---------". Da es sich um ein TypedChoiceField handelt, hat es kein empty_label-Attribut, so dass ich es im Formular nicht überschreiben kann. init Methode.
Gibt es eine Möglichkeit, diese "---------" zu entfernen?
Auch diese Methode funktioniert nicht:
def __init__(self, *args, **kwargs):
super(JobOpinionForm, self).__init__(*args, **kwargs)
if self.fields['worker_type'].choices[0][0] == '':
del self.fields['worker_type'].choices[0]
EDIT:
Ich habe es geschafft, dass es auf diese Weise funktioniert:
def __init__(self, *args, **kwargs):
super(JobOpinionForm, self).__init__(*args, **kwargs)
if self.fields['worker_type'].choices[0][0] == '':
worker_choices = self.fields['worker_type'].choices
del worker_choices[0]
self.fields['worker_type'].choices = worker_choices