2017-10-16 12 views
0

私はエラーはImportErrorを取得し、私のモデルのいずれかを更新した後、インポートを使用しているとき、私は問題を抱えている更新:名前をインポートすることはできませんが「チーム」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) 

をIのinit

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をAlasdairあなたの答えのために、私はそれをしようとすると、私ははImportErrorを得る:名「応答」をインポートすることはできません。私のモデルは、問題のモデルが応答モデルである場合、answer.pyのフォルダモデル内にあります。 – Ben2pop

+0

はい私の記述に入れています... – Ben2pop

+0

エラーメッセージから何が問題なのか分かりません。完全なトレースバックには、問題の内容が表示されることがあります。 – Alasdair

関連する問題