仅从没有实例逻辑的modelform中提取表单

时间:2012-08-14 21:08:38

标签: django forms modelform

是否有明显的方法可以在没有实例设置逻辑的情况下将ModelForm转换为常规Form

我有一个更新/创建ModelForm视图我想通过使用来自完全相同的字段列表的输入来转换为SearchView来查询模型但是它会导致必需的字段和类型出现问题,因为{ {1}}立即将数据附加到ModelForm

我最终攻击了元类以获得我想要的东西但我觉得在我的眼睛覆盖某些功能之前我很容易就会错过一些解决方案。我真的不喜欢拉核心django代码...

其他形式的hackery比复制和粘贴整个元类更可取。

self.instance

更新

看起来class ModelFormMetaclass(type): def __new__(cls, name, bases, attrs): formfield_callback = attrs.pop('formfield_callback', None) try: parents = [b for b in bases if issubclass(b, ModelToForm)] #<-- here # ... rest of class class ModelToForm(BaseForm): __metaclass__ = ModelFormMetaclass 负责实例构建/相关字段验证。

目前,我正在停用ModelForm._post_clean()并查看我的位置。

0 个答案:

没有答案