我正在将一个旧的Django项目从Django 1.8.3升级到当前的Django 1.11,但是为了谨慎起见,我正在升级到Django的每个主要版本,以便在采取下一步之前找到错误和不推荐并修复它们。(我已经有两年没有接触过这段代码了,所以我有点生疏了;如果我犯了一个简单的错误,请原谅我。)
我首先升级到Django 1.9.13(1.10之前的最后一个),当我manage.py runserver
时,我得到了以下错误:
/Users/mboszko/.virtualenvs/opticaldev/lib/python2.7/site-packages/django/utils/six.py:808: RemovedInDjango110Warning: SubfieldBase has been deprecated. Use Field.from_db_value instead.
return meta(name, bases, d)
如果我没看错这个错误,那么错误源于Django嵌入的six
的自定义版本。我已经搜索过我的代码,但我似乎没有在我自己的代码中的任何地方使用SubfieldBase
。(我也在google上搜索了six
中的这个特定错误,但没有多少成功。)
这仅仅是我应该升级到django1.10,并且该包中的新版本six
兼容,还是在升级之前我需要自己解决一些问题?在
啊哈aa。没有什么比把你的问题贴出来让你产生一个想法,从而找到答案。在
我意识到我应该更深入地研究这个错误:
通过堆栈跟踪,我得到一行显示:
因此,
SubfieldBase
的使用实际上是在一个包中,我已经安装了django-date-extensions。在我的virtualenv中是1.1.0,一旦我把它提升到2.0,错误就消失了。在修好了!在
相关问题 更多 >
编程相关推荐