2010-08-23 70 views
1

不使用Ajax是否有获取选定项目值的方法。因此,例如,如果我有下面的下拉列表:获取选定选项的值ModelChoiceField

<select name="controllers" id="id_controllers"> 
<option value="" selected="selected">---------</option> 
<option value="1">http://przemeklach.com/api/firstOrder/przemeksController</option> 
<option value="5">http://przemeklach.com/api/zeroOrder/ronsController</option> 
</select> 

我如何得到'价值'在我看来。我知道我可以通过

controller = form.cleaned_data['controllers'] 

获得“http://przemeklach.com/api/firstOrder/przemeksController”的一部分,但我还需要在这种情况下,“价值” 1

感谢。

回答

1

划伤旧的响应(如下),cleared_data包含对象引用。您可以通过引用模型方法来获取ID。

你可以从form.data['controllers']得到id,但它需要完整性检查(在这种情况下它应该是一个int)。当然,如果is_valid()返回True,它应该是您在定义字段时提供的查询集中可用的ID之一。