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

Django实现表单字段为空时JsonResponse不返回对应键值对的方法

实现方案

你可以通过两种常用方式实现需求,都不需要修改表单定义,仅调整视图层的处理逻辑即可:

  • 方式一:条件赋值,仅当字段值不为None时才往返回字典中添加对应键
    适合仅需要处理单个字段的场景,代码示例如下:
# views.py 中表单校验通过后的逻辑
if form.is_valid():
    nested_data = {}
    font_family = form.cleaned_data.get("global_font_family")
    # 只有值不为None时才添加fontFamily键
    if font_family is not None:
        nested_data["fontFamily"] = font_family
    return JsonResponse(nested_data)
  • 方式二:构造完字典后统一过滤空值
    适合有多个同类型需要处理的字段的场景,代码示例如下:
# views.py 中表单校验通过后的逻辑
if form.is_valid():
    nested_data = {
        "fontFamily": form.cleaned_data.get("global_font_family"),
        # 可以继续添加其他需要返回的字段
        "fontWeight": form.cleaned_data.get("global_font_weight")
    }
    # 过滤所有值为None的键值对
    nested_data = {key: value for key, value in nested_data.items() if value is not None}
    return JsonResponse(nested_data)

注意事项

如果你需要同时过滤空字符串、0等符合Python空值判断的内容,可以把过滤条件改为if value,但你的场景下仅需要过滤None值,用value is not None判断更精准,不会误删合法的空值类选项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:45:03