からempty_labelを削除することはできません:私はのModelFormでそれを使用する場合Djangoは - 私は私のモデルのフィールドを持っているTypedChoiceField
TYPES_CHOICES = (
(0, _(u'Worker')),
(1, _(u'Owner')),
)
worker_type = models.PositiveSmallIntegerField(max_length=2, choices=TYPES_CHOICES)
それは「---------」空の値を持っています。 TypedChoiceFieldなので、empty_label属性はありません。したがって、のという形式でオーバーライドすることはできません。
"---------"を削除する方法はありますか?
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::方法はあまりにも動作しません
は、私はそれがそのように動作させるための管理:
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
これは機能しません。私は私のポストを編集し、作業の解決策を貼り付けました。それが最高かどうかわからない。 – tunarob
興味深い。私はempty_valueのユースケースが何であるのだろうかと思っています:) – Brandon
私は分かりません。印刷すると空のデータが得られますが、現場では "-------"と表示されます。それ以外の何かに設定する:self.fields ['worker_type']。empty_value = '何も'も動作しません:) – tunarob