Wtforms:使用多重继承添加动态字段
我知道可以像这样创建动态字段:http://wtforms.simplecodes.com/docs/1.0.1/specific_problems.html#dynamic-form-composition
不过,上面的解决方案在我的情况下有点麻烦,而且需要一个我想避免的特殊接口。我在想有没有办法用多重继承来实现这个功能?我试了以下代码,但它不工作,我也不知道为什么。我觉得根据类的结构,WTForms应该能正确绑定这些表单:
>>> class Base(Form):
... def __init__(self, **kwargs):
... setattr(self, 'dynamic_boolean', fields.BooleanField('label'))
... super(Base, self).__init__(**kwargs)
...
>>> class Inherit(Base):
... other_boolean = fields.BooleanField('label')
...
>>>
>>> form = Inherit()
>>> form.__dict__
{'dynamic_boolean': <UnboundField(BooleanField, ('label',), {})>, 'other_boolean': <wtforms.fields.core.BooleanField object at 0x8a8510c>, '_fields': {'other_boolean': <wtforms.fields.core.BooleanField object at 0x8a8510c>}, '_prefix': '', '_errors': None}
如你所见,dynamic_boolean字段没有被绑定。那我该怎么设置才能让dynamic_boolean字段正确绑定呢?