如何从Django表单集中获取未清洗的CharField数据?
获取Django表单集里未清洗的字段值
要拿到表单集中表单的原始未清洗输入,别用form['name_of_field']——这玩意儿返回的是BoundField对象,不是你要的原始数据。正确的姿势是从form.data里取,不过因为表单集的每个表单字段都带前缀(比如form-0-name_of_field),直接写字段名拿不到,得用form.add_prefix()生成正确的键:
for form in formset: # 获取特定字段的原始未清洗值 original_value = form.data.get(form.add_prefix('name_of_field')) # 其他字段继续用清洗后的数据 cleaned_data = form.cleaned_data other_value = cleaned_data.get('other_field')
form.data是提交上来的原始QueryDict,完全保留用户输入的原始格式,包括空格这些被清洗步骤去掉的内容。用add_prefix()能自动匹配表单集给每个表单加的前缀,比手动拼键名靠谱多了。
内容的提问来源于stack exchange,提问作者Larry
相关产品推荐
相关产品推荐

