如何验证Django表单构造函数MyForm中的'instance'(instance = myInstance)

时间:2010-01-30 23:57:36

标签: django validation constructor django-forms

我以不同于显示格式的格式存储数据 我已经在表单的clean_weight()方法中完成了form-to-db转换,这使我可以在保存数据之前正确格式化数据。

现在我假装在显示表单之前操纵实例权重但是我在表单代码中看不到一个好的地方。

我知道有两种选择:

  • 创建构造函数并在那里处理转换。它对我来说看起来不太好,因为一旦你定义了构造函数,它就适用于所有可能的构造函数调用(不仅仅是对于instance = 1),并且仅用于表单的1或2个字段,我更喜欢另一种解决方案。
  • 没有在表单代码中执行,将它放在我使用的每个视图中,看起来不舒服,再次导致我需要在几个地方执行它并且我需要从表单中删除clean_weight以保持它一致,所以我需要在我使用表单的每个视图中放置两个操作。

对于那些看起来更好的那一个的那一个是构造函数,但对我来说很臭 任何提示?

1 个答案:

答案 0 :(得分:1)

自定义表单字段是您所需要的 - 简单,干净,可在任何表单上重复使用。甚至可能是自定义模型领域,但这取决于你。