Django に似たフォームの選択肢フィールドの下にある既存の valuelistqueryset に空の選択肢の値を追加する必要がありますmodelchoicefield("-------------")
。誰でもこれで私を助けることができますか?
hardness = forms.ModelChoiceField(queryset=Description.objects.filter(variable="hardness", paradigm='206209').values_list('dvalue', flat=True).distinct().order_by('dvalue'))
@jghyllebert お返事ありがとうございます。ただし、この場合は、modelchoicefield を choicefield に変換する必要があります。の解決策が必要ですchoicefield
。わかりにくかったらすみません。選択フィールドで試しempty_label
てみましたが、フォームがエラーになります。empty_value
rimplan = forms.ChoiceField(
required=False,
empty_value = '---',
choices=Description.objects.filter(
variable="rimplan",
paradigm='206209').values_list(
'dvalue',
flat=True).distinct().order_by('dvalue'))
したがって、私は完全にうまく機能するこのソリューションを実装しました。
EXTSURCOLOR_DESCRIPTIONS = Description.objects.filter(
variable="exteriorsurfacecolor",
paradigm='206209')
EXTSURCOLOR_CHOICES = [('', '---')]
EXTSURCOLOR_CHOICES.extend(
EXTSURCOLOR_DESCRIPTIONS.values_list(
"dvalue",
"dvalue").distinct().order_by('dvalue'))
exteriorsurfacecolor = forms.ChoiceField(choices = EXTSURCOLOR_CHOICES)
そこにもっと良い解決策があるかどうか知りたかっただけです。