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

django-jsonforms如何限制对象属性折叠面板可添加的字段数量?

django-jsonforms动态属性数量限制配置说明

django-jsonforms 支持约束可折叠对象属性面板的动态添加字段数量,该配置不属于options参数的自定义配置项,而是直接遵循JSON Schema原生标准规则定义,不需要额外引入插件或修改初始化逻辑。

具体配置方法

在你传入的jsonschema中,对应开启了additionalProperties: True的object类型节点上,添加两个标准校验关键字即可:

  • minProperties:设置该对象节点下最少需要存在的字段总数,包含固定定义的字段和用户动态添加的字段,提交时如果字段数低于该值会自动触发校验报错
  • maxProperties:设置该对象节点下最多允许存在的字段总数,当用户动态添加字段达到这个上限时,面板上的新增字段按钮会自动置灰禁用,无法继续添加

代码示例

你原有初始化代码不需要调整options配置,只需要修改对应的JSON Schema即可:

# 你的JSON Schema对应对象节点配置参考
jsonschema = {
    "type": "object",
    # 原有固定属性定义
    "properties": {
        "name": {"type": "string"}
    },
    # 开启动态属性
    "additionalProperties": True,
    # 新增数量限制配置
    "minProperties": 2,
    "maxProperties": 6
}

# 表单初始化代码保持原有逻辑即可
options = {'additionalProperties': True}
form = JSONSchemaForm(schema=jsonschema, options=options, ajax=False)

文档说明

这两个关键字是JSON Schema Draft 4及以上版本的标准规范,django-jsonforms全版本默认兼容该规则,不需要查找框架专属的配置文档,所有JSON Schema原生的对象校验规则都可以直接生效。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 02:54:19