Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django表单集编辑不工作_Python_Django_Django Forms - Fatal编程技术网

Python Django表单集编辑不工作

Python Django表单集编辑不工作,python,django,django-forms,Python,Django,Django Forms,我需要使用django中的动态表单集。为此,我使用了django formset。它工作得很好。现在我需要为这个表单提供编辑选项。因此,我需要在表单集中显示以前添加的数据。为此,我编写了以下代码。但它没有显示以前的版本 添加数据。仅显示空表单集,即使它有数据 if action == 'edit': teaching_module = TeachingModule.objects.get(id=

我需要使用django中的动态表单集。为此,我使用了django formset。它工作得很好。现在我需要为这个表单提供编辑选项。因此,我需要在表单集中显示以前添加的数据。为此,我编写了以下代码。但它没有显示以前的版本 添加数据。仅显示空表单集,即使它有数据

if action == 'edit':
        teaching_module = TeachingModule.objects.get(id=
                                                  request.GET.get('id'))
        form = TeachingModuleForm(instance=teaching_module)

        teaching_module = TeachingModule.objects.get(id=request.GET.get('id'))
        factory = modelformset_factory(TeachingModuleSegment, form = TeachingModuleSegmentForm)
        qset = TeachingModuleSegment.objects.filter(teachingModule=teaching_module)
        formset = factory(queryset=qset)

        data = {'form': form,
                'formset': formset}

        return render(request, 'add_teaching_modules.html', data)

据我所知,您希望编辑通过外键链接的模型的所有实例 为此,有inlineformset和
inlineformset\u工厂

内联表单集是模型表单集之上的一个小抽象层。这些简化了通过外键处理相关对象的情况


请改为尝试它们

此查询是否设置了要编辑的Instances
qset=TeachingModuleSegment.objects.filter(teachingModule=teaching\u module)
?这里我需要按外键进行筛选。仅用于获取以前添加的数据。我需要编辑教学模块段数据。保存部分没有写在这里。这仅用于显示以前的数据为什么不使用
inlineformset\u factory
?您能给我一个示例或教程链接吗?您的变体似乎是正确的