获取所选选项ModelChoiceField的值

时间:2010-08-23 21:58:28

标签: django django-forms django-views

不使用Ajax就有办法获取所选项的值。例如,如果我有下面的下拉列表:

<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>

我如何在视图中获得'价值'。我知道我可以通过

获得'http://przemeklach.com/api/firstOrder/przemeksController'部分
controller = form.cleaned_data['controllers']

但在这种情况下我也需要'价值'。

感谢。

1 个答案:

答案 0 :(得分:1)

抓取旧响应(如下),cleaning_data包含对象引用。您可以通过参考模型方法获取ID。

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