Django formset:如何将管理数据手动添加到请求.POST?

2024-04-25 09:13:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些用例,当表单集没有在页面中呈现时。在本例中,request.POST不包含管理数据。在

如何手动添加丢失的管理数据?request.POSTQueryDict是只读的。在

正如答案所示,我使用了:

request_post_copy = request.POST.copy()
if not request_post_copy.has_key('form-TOTAL_FORMS'):
    request_post_copy.update({
        'form-TOTAL_FORMS': 0,
        'form-INITIAL_FORMS': 0,
        'form-MAX_NUM_FORMS': 1000,
    })

Tags: 数据答案form表单requestforms页面手动
1条回答
网友
1楼 · 发布于 2024-04-25 09:13:18

如果错误是管理表单数据丢失,则管理表单数据丢失。在

看看这个: https://docs.djangoproject.com/en/dev/topics/forms/formsets/#using-a-formset-in-views-and-templates

在本例中,他们使用此选项显示其他字段:

{{ formset.management_form }}

如果这些字段丢失了,那么就会出现错误。在

编辑:

如果要将管理字段手动添加到数据中,则需要为以下字段添加3个键/值对:

^{pr2}$

做这样的事情:

my_post_dict = request.POST.copy()
my_post_dict['form-TOTAL_FORMS'] = value
my_post_dict['form-INITIAL_FORMS'] = value
my_post_dict['form-MAX_NUM_FORMS'] = value
myformset = MyFormSet(my_post_dict)

相关问题 更多 >