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

Django REST Ex1 Serialization开发序列化器调用及500错误求助

Django REST Serialization 开发问题排查

问题1:WishSerializer实例化触发参数过多报错

  • 报错原因:serializer = WishSerializer(Wish)代码中,你直接将Wish模型类作为参数传入序列化器。DRF序列化器的首个位置参数要求接收模型实例/查询集对象,而非模型类本身,传参不符合要求触发pylint校验报错。
  • 修复代码:
    # 原错误代码
    # serializer = WishSerializer(Wish)
    
    # 修正后代码,GET接口返回所有愿望列表
    wish_queryset = Wish.objects.all()
    serializer = WishSerializer(wish_queryset, many=True)
    
  • 参数说明:序列化多个对象时必须额外传入many=True参数,告知序列化器处理的是查询集而非单个实例。

问题2:/wishes GET接口返回500状态码、测试不通过

  • 报错原因:问题1的传参错误会直接触发服务端运行时异常,是导致接口返回500的核心原因。
  • 修复后效果:
    • 无愿望数据时,Wish.objects.all()返回空查询集,序列化后响应体为预期的空数组[]
    • 接口正常返回200状态码,Content-Type自动匹配application/json,完全符合测试用例预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 14:27:01