django-formtools加载modelformset的初始值

时间:2017-07-24 10:06:51

标签: python django django-class-based-views django-formwizard

我正在尝试在SessionWizardView中加载ModelFormSet的初始值,我尝试在没有SessionWizardView的情况下加载ModelFormSet的初始值,一切正常但有了它,它给了我这个错误:

   / em / agreement / 4 / edit / 0

中的

KeyError

这是我的代码

class AgreementView(SessionWizardView):

    formset = modelformset_factory(model=Agreement, form=CreateAgreementsFormSet)
    form_list = [formset]
    template_name = 'app_name/template.html'

    def get_form_initial(self, step):

        initial = self.initial_dict.get(step, {})
        if step == '0':
            initial.update([{'agreement': '4', 'description': '2'},
                            {'agreement': '4', 'description': '2'},
                            {'agreement': '4', 'description': '2'}])

        return self.initial_dict.get(step, initial)

1 个答案:

答案 0 :(得分:0)

字典需要密钥和值。这就是你做错了什么:

  initial.update([{'agreement': '4'},
                        {'agreement': '4'},
                        {'agreement': '4'}])

您忘记在'agreement''4'

之间添加专栏