我有一个表单选择框,其中包含与对象对应的值。用户选择一个输入并提交表单。然后我想获取该值并检索 ID 等于所选表单值的对象。但是,当我尝试这样做时,出现如下错误:
int() 参数必须是字符串或数字,不能是 'Cars'
例子:
if form.is_valid():
car = Car.objects.get(id=form.cleaned_data['id'])
我猜问题是返回值是一个字符串而不是一个整数。在 PHP 中,这很简单。如何类型转换或使用返回的表单值来获取关联对象?
似乎 Django 没有返回表单元素的值,而是用户可见的选项名称...
表单类:
class CarForm(forms.ModelForm):
class Meta:
model = Car
HTML 表单:
<form action="">
<select name="id">
{% for car in cars %}
<option value="{{car.id}}">{{car.title}}</option>
{% endfor %}
</select>
</form>
请您参考如下方法:
id 字段必须是整数,或者是可以转换为整数的字符串。 就这么简单!
不知何故,您的 form.cleaned_data['id'] 正在返回一个名为 Cars 的模型
如果您想将它传递给 get(id=
