ImportError: Cannot import name 'DurationField'

ImportError: Cannot import name 'DurationField'

我正在尝试 运行 一个使用 django(1.6.5 版)rest 框架(python 3.4.5 版)的应用程序。但是我得到了 Import错误 "cannot import name 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 正在尝试导入模型。