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

Django请求视图时报ValueError: too many values to unpack (expected 2)如何处理

错误原因

你代码的核心问题是Django视图函数必须返回HttpResponse子类实例,你直接返回了UserList的查询集(QuerySet)对象。
后续Django的点击劫持防护中间件处理响应时,会调用响应对象的get方法获取X-Frame-Options头配置,此时调用的实际是QuerySet的get方法,传入的单个字符串参数不符合QuerySet.get的参数格式要求,触发了参数解包报错。

修复方案

修改视图函数,将查询集序列化后用合法的响应对象返回,示例如下:
首先导入所需响应类:

from django.http import JsonResponse

修改后的视图代码:

def otherUserList(request):
    userName = request.GET.get('userName', None)
    # 可补充参数合法性校验
    if not userName:
        return JsonResponse({'code': 400, 'msg': '缺少userName参数'}, status=400)
    qs = UserList.objects.filter(user__username=userName)
    # 序列化查询集为可JSON序列化的结构,按需选择返回字段
    result = list(qs.values('id', 'list_name'))
    return JsonResponse({'code': 200, 'data': result})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:39:02