在我已经编辑 views.py 之后,Django 一直报告相同的错误

Django keeps reporting the same error after I already edited views.py

我正在编辑 Django 2.2 应用程序,但收到异常:

TypeError at /myappname/myurl
'RelatedManager' object is not iterable
Exception Location: /myprojectlocation/myappname/views.py in myview, line 41

糟糕,我不小心输入了 .objects 而不是 .objects.all()。轻松修复。

但是现在,无论我如何编辑 views.py,我总是收到完全相同的异常,总是指向第 41 行。我什至完全注释掉了第 41 行,但仍然得到相同的异常。异常 Traceback 显示更新的第 41 行,所以我知道我肯定在编辑正确的文件并且正在保存更改,但实际的异常本身只是不断抱怨 RelatedManager 无论我编辑什么。

我重新启动了网络服务器并清除了所有浏览数据。那么到底是什么还在“记住”我从那以后编辑过很多次的旧代码?


更新: django 开发服务器上一切正常 (manage.py runserver)。所以显然这更像是一个 uWSGI/nginx 问题,而不是我对我的 django 文件做错的任何事情。

原来我的 tmp/uwsgi.pid 文件以某种方式结束了其内容中的错误进程 ID,所以当我以为我正在重新启动 Django 应用程序时,我无意中未能停止主 uWSGI 进程。

我使用 pstree -p 查看我的进程层次结构并获得主 uWSGI 进程的正确进程 ID,编辑 uwsgi.pid 以包含正确的 ID,使用 pkill -9 -f \path\to\my\application 终止过程,最后再次重新启动我的应用程序。