我有一個表單選擇框,其值與對象相對應。用戶選擇輸入並提交表單。然後我想獲取該值並檢索具有與所選表單值等效的ID的對象。然而,當我嘗試這樣做,我得到一個錯誤,像這樣:Python/Django - 表單選擇值是對象ID ...無法獲取對象
int()函數的參數必須是字符串或數字,而不是「汽車」
例子:
if form.is_valid():
car = Car.objects.get(id=form.cleaned_data['id'])
我猜測問題是返回的值是一個字符串,而不是一個整數。在PHP中,這是簡單的。如何強制轉換或使用返回的表單值來獲取關聯的對象?
好像Django的沒有返回表單元素的值,而是對用戶可見的選項名稱...
Form類:
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>
你有沒有想過一個乾淨的解決方案呢?我認爲我有同樣的問題,但只能找到我下面發佈的一個可疑解決方案。 – KobeJohn 2011-10-30 15:07:28