按理论应该按想象中的执行,但实际不是这么执行等此类“反常”问题的解决思路
解决思路
- 使用IDE进行Debug调试,将代码的每一步执行是否按照预期执行;
- 找到为按预期执行的那一步,分析代码的判断是否准确,查看相关变量的值是否正确。
附Pycharm Debug快捷键:
F7
进入到代码(详细到每一步,如循环的每一次循环)
F8
按代码小块查看(一般按一行计算、赋值、实例化、执行函数、整个循环等等方式)
F9
跳到下一个断点
发生此问题时躺过的一个坑的经验:
- 应避免使用
from xxx import *
的方式导出类和函数,会导致环境中的变量被污染,从而出现变量混乱; - 注意django drf中
request.GET.get(...)
获取到的结果必定是字符串格式,而request.data.get(...)
,如果数据是整数,则会获得一个整数类型。