ImportError:无法导入名称' DurationField'

时间:2016-08-29 05:44:36

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

我正在尝试运行一个使用django(版本1.6.5)休息框架(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'

1 个答案:

答案 0 :(得分:4)

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。