gpt4 book ai didi

django - Django 表单下拉列表中的初始值不为空?

转载 作者:行者123 更新时间:2023-12-04 16:08:53 24 4
gpt4 key购买 nike

我有一个表格,我可以在其中定义报告的选择标准。从模型自动填充的下拉菜单“建筑物”之一应该不是强制性的,默认值为空。我无法实现空的部分。

我想要下拉列表中的第一个字段

在我的表单中

building = forms.IntegerField(
widget=forms.Select(
choices=Building.objects.all().values_list('id', 'name')
) , required=False
)

初始化代码时在 View 文件中

form = PaymentRangeForm(initial = {'building': 0 })

我在我的模板中使用了脆皮形式,但我认为这没有任何区别。

     <form method="POST"  class="form" action="" method="get">
{% csrf_token %}
{{ form|crispy}}
<br>
<button type="submit" class="btn btn-primary btn-primary">Search</button>
</form>

我没有收到任何错误,但默认值不为空,它具有模型中第一条记录的值。

我错过了什么?

最佳答案

好的 解决方案很简单。在我的源文件中,我添加了

from django.db.models.fields import BLANK_CHOICE_DASH

并更新了表单

class PaymentRangeForm(forms.Form):

start_date = forms.DateField(widget=forms.TextInput(attrs={'type': 'date'} ))
end_date = forms.DateField(widget=forms.TextInput(attrs={'type': 'date'} ))
building = forms.ChoiceField(choices=BLANK_CHOICE_DASH + list(Building.objects.values_list('id', 'name')), required=False)

关于django - Django 表单下拉列表中的初始值不为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46644908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com