你好,SO。
我想将我的选择选项默认设置为索引0。
这就是我创建表单的方式:
SOME_CHOICES = []
someObj = SomeModel.objects.filter(type = 1, is_active=True).order_by('id')
for x in enumerate(someObj):
SOME_CHOICES.append([x.id, x.salary_range_name])
some_field = forms.ChoiceField(choices=SOME_CHOICES)
正如您所看到的,我基于过滤器类型为1的模型创建了我的选择。我想有默认的选项作为第一个/索引0
手动设置来自模型的选项通常不是一个好主意。通常使用ModelChoiceField
[Django-doc]。
您可以将empty_label
设置为None
以禁用它,因此:
class MyForm(forms.Form):
some_field = forms.ModelChoiceField(
queryset=SomeModel.objects.filter(type=1, is_active=True).order_by('pk'),
empty_label=None
)