2016-03-30 68 views
0

我使用django 1.9來構建高度定製的系統。其中一部分意味着我必須從很多形式中提取字段列表和他們相關的小部件。從django表格獲取字段和小部件列表

例如,從這樣的事情:

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混入似乎要禁止這取自.fields屬性

任何想法如何做到這一點?還是通過模板提取更好?

回答

0
form = PortfolioForm() 
tuple((field_name, form.fields[field_name].widget.__class__) for field_name in form.fields) 

中的方法,你可以在self.

+0

得到它改變form.。我是在上課,而不是一個實例 –