django modelformset 排除 ID 字段

Posted

技术标签:

【中文标题】django modelformset 排除 ID 字段【英文标题】:django modelformset exclude ID field 【发布时间】:2012-06-14 11:26:55 【问题描述】:

我有一个在视图中创建的模型表单集:

    CarpoolFamilyInviteModelFormset = modelformset_factory(CarpoolFamilyInvite, fields=('family_name','family_email'), extra=3)

如您所见,我尝试将其限制为两个字段:family_name 和family_email。但是,当我在模板中渲染它时,我得到了一个额外的字段 ID。这是模板代码:

            % for form in formset %
                <div class="row">
                % for field in form %
                    <div class="span3">
                        <input id="focusedInput" class="input-large focused" type="text" placeholder=" field.label ">
                    </div>
                % endfor %
                </div>
            % endfor %

这是表单的样子:

知道如何跳过显示 ID 字段吗? exclude="ID" 似乎没有任何效果。谢谢!

【问题讨论】:

【参考方案1】:

model formset依赖于id字段,所以无法排除。

最好的选择是将 id 字段呈现为隐藏字段。有关示例,请参阅looping over hidden and visible fields 的文档。

【讨论】:

以上是关于django modelformset 排除 ID 字段的主要内容,如果未能解决你的问题,请参考以下文章

Django补充

元类与 Django 中的 modelformset_factory 冲突

在基于 Django 类的视图中使用 modelformset_factory

Django 将自定义表单参数传递给 ModelFormset

Django:如何使用 ModelFormSet 和 FormWizard 过滤 ForeignKey 选择(例如使用 request.user)?

带有 ModelForm 和 ModelFormSet 的 Django WizardView(这个不渲染)