我正在使用django 1.9来构建高度定制的系统。部分原因是我必须从多种形式中提取字段列表及其相关的小部件。
例如,来自这样的事情:
from django import forms
class PortfolioForm(forms.Form):
organisation_id = forms.IntegerField(label='organisation_id', required=True)
portfolio_id = forms.IntegerField(label='portfolio_id', required=False)
portfolio_name = forms.CharField(label='portfolio_name', max_length=50, required=True)
我希望能够获得这样的元组或列表列表:
(
(organisation_id, <widget_name>),
(portfolio_id, <widget_name>),
(portfolio_name, <widget_name>)
)
DeclarativeFieldsMetaclass mixin似乎阻止了这个从.fields
属性中取出
任何想法如何做到这一点?或者通过模板提取是否更好?
答案 0 :(得分:0)
form = PortfolioForm()
tuple((field_name, form.fields[field_name].widget.__class__) for field_name in form.fields)
在方法中,您可以更改form.
self.