Мне нужно добавить пустое значение выбора в существующий valuelistqueryset для ниже поля выбора в моей форме в Django similat до modelchoicefield("-------------")
. Кто-нибудь может мне с этим помочь?Нужно добавить пустой выбор в существующий valuelistqueryset для django choicefield
hardness = forms.ModelChoiceField(queryset=Description.objects.filter(variable="hardness", paradigm='206209').values_list('dvalue', flat=True).distinct().order_by('dvalue'))
@jghyllebert Спасибо за ваш ответ. Но в этом случае мне нужно преобразовать modelchoicefield в поле выбора. И мне нужно решение для choicefield. Извините, если я не был в курсе. Я попробовал empty_label и empty_value в поле выбора, но форма идет с ошибкой.
rimplan = forms.ChoiceField (required = False, empty_value = '---', choice = Описание.objects.filter (variable = "rimplan", paradigm = '206209'). Values_list ('dvalue', flat = True) .distinct(). Order_by ('dvalue'))
Таким образом, я реализовал это решение, которое отлично работает.
EXTSURCOLOR_DESCRIPTIONS = Description.objects.filter (переменная = "exteriorsurfacecolor", парадигма = '206209') EXTSURCOLOR_CHOICES = [('', '---')] EXTSURCOLOR_CHOICES.extend (EXTSURCOLOR_DESCRIPTIONS.values_list ("dvalue" , "dvalue"). distinct(). order_by ('dvalue')) exteriorsurfacecolor = forms.ChoiceField (выбор = EXTSURCOLOR_CHOICES)
Я просто хотел знать, есть ли лучшее решение там.
Есть ли что-то о пустом значении, которое будет отображаться, если вы установите 'required = False', который не работает для вас? Вы не можете буквально вставить его в набор запросов, но он добавит его к вариантам, предлагаемым для этого поля. –