gpt4 book ai didi

python - Django 1.9.13 提示 SubfieldBase 已被弃用,但我没有使用它。如何解决?

转载 作者:行者123 更新时间:2023-12-01 03:04:14 25 4
gpt4 key购买 nike

我正在将旧的 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 上搜索过 6 中的这个特定错误,但没有取得多大成功。)

这只是我应该升级到 Django 1.10 并且该包中的新版本 6 会兼容的情况,还是在升级之前我需要自己解决一些问题?

最佳答案

啊哈啊。没有什么比发布问题更能激发你的想法并引导你找到答案了。

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

$ 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,一旦我执行 pip install --upgrade django-date-extensions 将其升级到 2.0,错误就消失了。

已修复!

关于python - Django 1.9.13 提示 SubfieldBase 已被弃用,但我没有使用它。如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43561340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com