Django在所有字段上调用cleaning_data

时间:2015-01-10 22:52:45

标签: django

有没有办法在所有字段上调用具有某些功能的cleaning_data,而不是为每个字段单独调用它?

另外,为什么我们甚至需要调用cleaning_data?

我不确定我是否需要它...我使用for循环来保存formset,但它只保存最后一个。这是代码

for instance in form:
    tmp = instance.save(commit=False)
    # it throws an error when I try to do tmp[foreign_key] = other_model
    setattr(tmp, foreign_key, other_model) 
    tmp.save()  

1 个答案:

答案 0 :(得分:1)

你还希望什么?你永远不会打电话给它。验证表单后会填充cleaned_data

form.is_valid()填充form.cleaned_data,这是一个存储所有“已清理”数据的字典,即经验证并转换为其python类型。

我不认为可以使数据比映射到字段名称的键字典更容易访问。

至于你的最新更新,这本身就很混乱。

您似乎是根据名为'gen_house_form_saved'的局部变量在模型实例中的外键上设置属性(我也不明白:如果它在locals()命名空间中,并且您没有使用动态名称,为什么要使用locals