民间,
我正在处理遗留代码,其中ChoiceField呈现如下,我无法更改它,因为javascript使用所有值和标签:
<select>
<option value='one'>First</option>
<option value='second'>Second</option>
</select>
在数据库方面,我有一个字段是整数类型(1 =一,二=两个)来保存它。理想情况下,渲染应如下所示:
<select>
<option value='1'>First</option>
<option value='2'>Second</option>
</select>
现在,我尝试使用ModelForm中的Custom ChoiceField(通过覆盖ChoiceField)来映射int和字符串选择。我能够将数据保存到数据库中,但我无法在前端渲染值。我不知道如何映射这些值作为CustomSelectWidget的渲染函数的值参数传入。
任何投入都将受到赞赏。
谢谢!
答案 0 :(得分:0)
尝试使用字典
# Assuming "value" id the select value retrieved with request.POST.get
d = {
'one': 1,
'two': 2
}
if value in d:
the_db_id = d[value]
else:
# Error