python - 导入错误:无法导入名称 'DurationField'

标签 python django python-3.x django-models importerror

我正在尝试运行一个使用 django(版本 1.6.5)rest 框架(python 版本 3.4.5)的应用程序。但是我收到导入错误“无法导入名称 DurationField”。如何解决此错误?

File "/usr/src/app/Lab/models.py", line 8, in <module>
    from Lab import logic, common <br>
  File "/usr/src/app/Lab/logic.py", line 16, in <module>
    from Rest import viewsAppComm <br>
  File "/usr/src/app/Rest/viewsAppComm.py", line 7, in <module>
    from rest_framework.response import Response <br>
  File "/usr/local/lib/python3.4/site-packages/rest_framework/response.py", line 13, in <module>
    from rest_framework.serializers import Serializer
  File "/usr/local/lib/python3.4/site-packages/rest_framework/serializers.py", line 19, in <module>
    from django.db.models import DurationField as ModelDurationField <br>
ImportError: cannot import name 'DurationField'

最佳答案

DurationFieldadded in Django 1.8 。您使用的是 Django 1.6,因此出现错误。

您的选择是升级(如果可以的话,这是一个好主意,因为 Django 1.6 已经终止生命很久了)或降级到 Django Rest Framework 的旧版本(您当前拥有的版本不是与 Django 1.6 兼容)。

您或许还可以安装第三方 django-duration-field应用程序,然后将其导入:

from durationfield.db.models.fields.duration import DurationField

...但是从您发布的堆栈跟踪来看,似乎是 DRF 正在尝试导入模型。

关于python - 导入错误:无法导入名称 'DurationField',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39199209/

相关文章:

python-2.7 - 如何在Mac上安装BeautifulSoup4到python3

python - 获取数组中零和非零元素的索引

python - Jinja 中的列表理解

python - Django 1.6.5 中的 Syncdb 命令不会在 models.py 中创建新的模型类 - 表示表已存在

python - Unicode Django URL 参数

python - 如何在 ubuntu-12.04 中设置 cairo 的路径?

python - 如何以列表格式获取 spotipy 播放列表结果

python - 在 Python 中使用 Selenium 解析 HTML5 data-* 属性值

python - 在 virtualenv 中运行测试时 Django MySQL 错误

python - 防止按下 Tab 键时特定的 QLineEdit 聚焦