Django1.9.13抱怨SubfieldBase被弃用,但我没有使用它。如何解决?

2024-09-29 21:37:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在将一个旧的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兼容,还是在升级之前我需要自己解决一些问题?在


Tags: 项目django代码py版本manage错误virtualenvs
1条回答
网友
1楼 · 发布于 2024-09-29 21:37:37

啊哈aa。没有什么比把你的问题贴出来让你产生一个想法,从而找到答案。在

我意识到我应该更深入地研究这个错误:

$ python -Werror manage.py runserver

通过堆栈跟踪,我得到一行显示:

File "/Users/mboszko/.virtualenvs/opticaldev/lib/python2.7/site-packages/django_date_extensions/fields.py", line 99, in

class ApproximateDateField(with_metaclass(models.SubfieldBase, models.CharField)):

因此,SubfieldBase的使用实际上是在一个包中,我已经安装了django-date-extensions。在我的virtualenv中是1.1.0,一旦我把它提升到2.0,错误就消失了。在

修好了!在

相关问题 更多 >

    热门问题