You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django boundfields自动命名:如何自定义inline formset字段前缀

Django inlineformset_factory 自定义表单前缀方法

可以自定义该前缀,Django 所有表单集(包括inlineformset_factory生成的内联表单集)都支持通过prefix参数指定自定义前缀,操作方法如下:

  • 实例化表单集时传入prefix参数即可覆盖默认的模型小写前缀:
# 实例化GET请求的表单集
formset = Formset(instance=你的父模型实例, prefix="custom_prefix")

# 处理POST请求时也需要传入相同的prefix才能正确解析参数
if request.method == "POST":
    formset = Formset(request.POST, request.FILES, instance=你的父模型实例, prefix="custom_prefix")
    if formset.is_valid():
        formset.save()
        # 后续业务逻辑
  • 完成配置后,表单渲染的所有字段name、id属性都会替换为你指定的前缀,比如上面示例配置后,管理表单的隐藏字段会渲染为:
<input type="hidden" name="custom_prefix-TOTAL_FORMS" value="0" id="id_custom_prefix-TOTAL_FORMS">

补充说明:默认的前缀逻辑是自动取内联表单绑定的子模型类名的蛇形小写格式,你传入的prefix参数可以是任意合法的字符串,只要保证同一页面内的多个表单集前缀不重复即可。

内容的提问来源于stack exchange,提问作者logicOnAbstractions

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 06:45:05