2016-08-29 4 views
2

Ich versuche, eine Anwendung zu starten, die Django (Version 1.6.5) Rest Framework (Python Version 3.4.5) verwendet. Ich bekomme jedoch die Importfehler "Name DurationField kann nicht importiert werden ". Wie kann ich diesen Fehler beheben?ImportError: Kann Name 'DurationField' nicht importieren

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' 

Antwort

4

DurationField war added in Django 1.8. Sie verwenden Django 1.6, daher der Fehler.

Ihre Optionen sind ein Upgrade (das ist eine gute Idee, wenn Sie können, weil Django 1.6 vor einiger Zeit das Ende des Lebens erreicht hat) oder ein Downgrade auf eine ältere Version von Django Rest Framework (die Version, die Sie derzeit haben) nicht kompatibel mit Django 1.6).

Sie können auch die Dritt django-duration-field App installieren können, und importieren Sie es dann mit:

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

... aber aus dem Stack-Trace geschrieben Sie es sieht aus wie es DRF ist, die versucht, Importieren Sie das Modell.

+0

Vielen Dank für Ihre Hilfe! – Yoga

Verwandte Themen