2017-10-16 39 views
0

我使用進口時更新我的​​模型之一,我得到的錯誤導入錯誤後,有一個問題,當Django的進口問題:無法導入名「團隊」更新的款式

這是我的實際模型

from django.db import models 
from registration.models import MyUser 
from django.core.urlresolvers import reverse 

# Create your models here. 

class Team(models.Model): 
    team_name = models.CharField(max_length=100, default = '') 
    team_hr_admin = models.ForeignKey(MyUser, blank=True, null=True) 
    members = models.ManyToManyField(MyUser, related_name="members") 

    def __str__(self): 
     return self.team_name 


class Project(models.Model): 
    name = models.CharField(max_length=250) 
    team_id = models.ForeignKey(Team, blank=True, null=True) 
    project_hr_admin = models.ForeignKey(MyUser, blank=True, null=True) 

而我想的candidat_answer添加到從響應模型的項目模型,所以我進口車型,以便能夠使用它給我的實際代碼:

from django.db import models 
from registration.models import MyUser 
from survey.models.response import Response 
from django.core.urlresolvers import reverse 

# Create your models here. 

class Team(models.Model): 
    team_name = models.CharField(max_length=100, default = '') 
    team_hr_admin = models.ForeignKey(MyUser, blank=True, null=True) 
    members = models.ManyToManyField(MyUser, related_name="members") 

    def __str__(self): 
     return self.team_name 


class Project(models.Model): 
    name = models.CharField(max_length=250) 
    team_id = models.ForeignKey(Team, blank=True, null=True) 
    project_hr_admin = models.ForeignKey(MyUser, blank=True, null=True) 
    candidat_answers = models.ForeignKey(Response) 

但是現在我從我的註冊進口的觀點得到一個導入錯誤..

from website.models import Team, Project 
ImportError: cannot import name 'Team' 

初始化

""" 
    Permit to import everything from survey.models without knowing the details. 
""" 
from __future__ import unicode_literals 
from __future__ import print_function 
from __future__ import division 
from __future__ import absolute_import 

from future import standard_library 
standard_library.install_aliases() 
import sys 

from .answer import Answer 
from .category import Category 
from .question import Question 
from .response import Response 
from .survey import Survey 


__all__ = ["Category", "Answer", "Category", "Response", "Survey", "Question"] 

回答

2

這聽起來像你有一個圓形的進口。如果僅在外鍵中使用它們,則不需要導入模型。拆下進口和使用字符串代替'<app_name>.<Model name>',例如:

class Project(models.Model): 
    name = models.CharField(max_length=250) 
    team_id = models.ForeignKey(Team, blank=True, null=True) 
    project_hr_admin = models.ForeignKey('registration.MyUser', blank=True, null=True) 
    candidat_answers = models.ForeignKey('survey.Response') 
+0

THX麥金太爾的回答,當我嘗試它,我得到導入錯誤:無法導入名「響應」。我的模型是在response.py文件夾中的模型,當有問題的模型是響應 – Ben2pop

+0

是的我把它放在我的描述中... – Ben2pop

+0

我不能告訴錯誤信息是什麼問題。完整的追溯可能會顯示問題所在。 – Alasdair