【发布时间】:2011-11-02 15:28:27
【问题描述】:
我有一个由 2 个 ChoiceField 和一个 CharField 组成的表单。 The second ChoiceField is populated via ajax when an item of the first one is selected.
填充它的模板如下:
{% for a in assets %}
<option value="{{ a.asset_id }}">{{ a.asset_name }}_{{ a.asset_description }}</option>
{% endfor %}
当我尝试提交表单时,出现以下错误:
Select a valid choice. 20 is not one of the available choices.
指向第二个ChoiceField,20对应选中项的{{a.asset_id}}。
我在其他论坛上看到了这个错误,但它几乎总是由于 multipleChoiceField 这不是我关心的。
我做错了什么?
【问题讨论】:
-
表单中ChoiceField的
choices的值是多少? -
在表单中,选择的值首先包含
[('', '-- choisir un type en premier')],然后根据在第一个 CHoiceField 中选择的项目添加一些选项标签 -
如何使用 Javascript 添加选项标签?这很糟糕,因为 Django 将拒绝任何不在
choices中的选定内容。相反,您应该在视图中动态更改choices的值。 -
我使用 javascript 添加它们,因为我希望在第一个 ChoiceField 上选择一个项目时更新这些项目。如果没有 javascript,我不知道该怎么做。
-
经过讨论后我实现了这一点:link
标签: django jquery django-forms choicefield