Python Django-如何动态填充formwizard表单';从数据库中删除字段
第一个表单不是Python Django-如何动态填充formwizard表单';从数据库中删除字段,python,django,django-models,django-forms,Python,Django,Django Models,Django Forms,第一个表单不是表单集,在第一步项目中很容易填充,但第二步是表单集。如何在FormSet中检索Task表单,并在向导步骤中使用表单及其各自的字段填充FormSet def get_form_initial(self, step): if 'project_id' in self.kwargs: if step == 'project': project_id = self.kwargs['project_id'] projec
表单集
,在第一步项目
中很容易填充,但第二步是表单集
。如何在FormSet
中检索Task
表单,并在向导步骤中使用表单及其各自的字段填充FormSet
def get_form_initial(self, step):
if 'project_id' in self.kwargs:
if step == 'project':
project_id = self.kwargs['project_id']
project = Project.objects.get(pro_id=project_id)
from django.forms.models import model_to_dict
project_dict = model_to_dict(project)
return project_dict
elif step == 'task':
project_id = self.kwargs['project_id']
tasks = Task.objects.filter(project=project_id)
print "tasks: %s " % tasks
pp.pprint(self.__dict__)
tasks_dict = model_to_dict(tasks)
return tasks_dict
else:
print self.kwargs
else:
return self.initial_dict.get(step, {})
任务:[,]
{'args':(),
'条件_dict':{},
“表格列表”:订购的信息技术([(u‘项目’,),(u‘任务’,),(u‘资源’,),(u‘可交付成果’,),(u‘人员配备’,))),
“头”:,
'首字母_dict':{},
'instance_dict':{},
'kwargs':{'project_id':u'6'},
“前缀”:“订单向导”,
“请求”:,
“步骤”:,
'存储':}
tasks: [<Task: Task object>, <Task: Task object>]
{ 'args': (),
'condition_dict': { },
'form_list': OrderedDict([(u'project', <class 'proposed_project_details.forms.Project_Form'>), (u'task', <class 'django.forms.formsets.Task_FormFormSet'>), (u'resources', <class 'django.forms.formsets.Resources_Required_FormFormSet'>), (u'deliverable', <class 'django.forms.formsets.DeliverableFormFormSet'>), (u'staffing', <class 'django.forms.formsets.Staffing_FormFormSet'>)]),
'head': <bound method OrderWizard.get of <OrderWizard: forms: OrderedDict([(u'project', <class 'proposed_project_details.forms.Project_Form'>), (u'task', <class 'django.forms.formsets.Task_FormFormSet'>), (u'resources', <class 'django.forms.formsets.Resources_Required_FormFormSet'>), (u'deliverable', <class 'django.forms.formsets.DeliverableFormFormSet'>), (u'staffing', <class 'django.forms.formsets.Staffing_FormFormSet'>)])>>,
'initial_dict': { },
'instance_dict': { },
'kwargs': { 'project_id': u'6'},
'prefix': 'order_wizard',
'request': <WSGIRequest: POST '/projects/edit/6'>,
'steps': <StepsHelper for <OrderWizard: forms: OrderedDict([(u'project', <class 'proposed_project_details.forms.Project_Form'>), (u'task', <class 'django.forms.formsets.Task_FormFormSet'>), (u'resources', <class 'django.forms.formsets.Resources_Required_FormFormSet'>), (u'deliverable', <class 'django.forms.formsets.DeliverableFormFormSet'>), (u'staffing', <class 'django.forms.formsets.Staffing_FormFormSet'>)])> (steps: [u'project', u'task', u'resources', u'deliverable', u'staffing'])>,
'storage': <formtools.wizard.storage.session.SessionStorage object at 0x10e138a90>}