ModelFormset_factory如何修改以前保存的数据

时间:2019-02-19 01:00:01

标签: django forms django-forms modelform formset

我已经在此问题上停留了三天,非常感谢任何建议或帮助。

我已经使用modelformset_factory创建了一个表单集,并将数据成功保存到数据库中。我还使用queryset成功加载了数据。现在我想修改数据,但它总是命中一个formset无效错误“ id is required”。我不知道哪里出了问题,我阅读了文档,但找不到任何帮助。

这是我的表格:

FocusFormset = modelformset_factory(
startupFocus,
fields=('name',),
widgets={
    'name': forms.TextInput(
        attrs={
            'placeholder': 'Enter Area of Focus here',
            'label': 'Area of Interests',
        }
    )
}

这是我的观点:

    if request.method == 'POST':
        edit_form_io = update_startup_info_form(request.POST, instance=current_user)

        formset = FocusFormset(request.POST)
        if edit_form_io.is_valid() and formset.is_valid():
            # print(formset)

            edit_form_io.save()
            instances = formset.save(commit=False)
            for instance in instances:
                instance.myUser = current_user
                instance.name = instance["name"]
                instance.save()
            return redirect('../display-profile')

这是我的模特:

class startupFocus(models.Model):
name = models.CharField(max_length=255, verbose_name='Area of Interests:')
myUser = models.ForeignKey(
    MyUser,
    on_delete=models.SET_NULL,
    null=True
)

def __str__(self):
    return self.name

这是我的模板,如下所示: template

0 个答案:

没有答案
相关问题