【问题标题】:ImportError: Cannot import name 'DurationField'ImportError:无法导入名称“DurationField”
【发布时间】:2016-08-29 05:44:35
【问题描述】:

我正在尝试运行使用 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'

【问题讨论】:

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


    【解决方案1】:

    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 正在尝试导入模型。

    【讨论】:

    • 非常感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-31
    • 2014-10-10
    • 2014-09-20
    • 2014-08-28
    • 2014-06-10
    • 2016-05-16
    • 2019-05-25
    相关资源
    最近更新 更多