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

Django REST Framework无法获取React前端选中数据列表问题

Django后端获取React多选checkbox完整列表的解决方法

问题根源在于Django的QueryDict对象特性:默认get()方法仅返回同一键对应的最后一个值,要获取多选项的完整列表,需使用getlist()方法。

修改后端代码如下:

def post(self, request, pk=None):
    print(request.data)  # 输出 <QueryDict: {'selectbut': ['service1', 'service2', 'service3'], 'selecttext': ['hello guys']}>

    # 用getlist替代get,获取所有选中项
    selected_services = request.data.getlist("selectbut")
    for service in selected_services:
        print(service)  # 依次打印service1、service2、service3

补充说明

  • QueryDict是Django专门处理表单数据的字典子类,针对同一键对应多值的场景(如多选checkbox、多选select),必须通过getlist()才能提取全部值。
  • 你的前端React代码无需修改,FormData已正确将所有选中的checkbox值以数组形式提交,request.data的打印结果也验证了这一点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 04:34:58