gpt4 book ai didi

Django 模型形式 : how to show a select for a CharField?

转载 作者:行者123 更新时间:2023-12-05 09:07:43 26 4
gpt4 key购买 nike

我在 Django 中使用 ModelForms 创建我的表单。这很好用。但是,数据库中有一个字段是 charfield,但对于特定表单,我想将用户可以输入的选项限制为特定项目的列表 - 理想情况下显示在 <select> 中。 .这样做的正确方法是什么?这是我的代码:

form = ModelForm(request.POST or None, instance=Street.objects.get(pk=1))

在我的模型中:

class Street(models.Model):
name = models.CharField(max_length=255)

我尝试了以下方法:

from django import forms
CHOICES = [('1', 'First'), ('2', 'Second')]
choice_field = forms.ChoiceField(widget=forms.Select, choices=CHOICES)
form.fields["street"].widget = choice_field

这给出了这个错误:

'ChoiceField' object has no attribute 'attrs'

最佳答案

如果您想修复此属性错误,您可以将您的选择作为 python 元组传递或设置 TypedChoiceField() 并为其赋予属性强制引用:https://stackoverflow.com/a/18200849/14127147

from django import forms
CHOICES = (("1", "First"), ("2", "Second"))
choice_field = forms.ChoiceField(widget=forms.Select, choices=CHOICES)
form.fields["street"].widget = choice_field

关于Django 模型形式 : how to show a select for a CharField?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64588109/

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