2017-10-16 1 views
0

Aktualisierung habe ich ein Problem, wenn Import Verwendung nach einem meiner Modelle zu aktualisieren ich den Fehler Import erhalten: kann nicht Namen importieren ‚Team‘Django Import Problem, wenn Modelle

Das war mein tatsächliches Modell

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) 

und ich wollte den candidat_answer in das Projektmodell aus dem Response-Modell hinzufügen, damit ich die Modelle importierte die Lage sein, es zu benutzen, die mir gegeben hat, dass die tatsächlichen Code:

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) 

aber jetzt ist einen Importfehler von meiner Registrierung Import Ansichten bekommen ..

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

init:

""" 
    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"] 

Antwort

2

Es klingt wie Sie einen kreisförmigen Import haben. Sie müssen die Modelle nicht importieren, wenn Sie sie nur in Fremdschlüsseln verwenden. Entfernen Sie die Importe und verwenden Sie die Zeichenfolge '<app_name>.<Model name>' statt, zum Beispiel:

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 für Ihre Antwort, wenn ich es versuche ich Import bekommen: kann nicht Namen importieren ‚Antwort‘. Meine Modelle sind in einem Ordner Modelle in response.py, wenn das Modell in Frage ist Antwort – Ben2pop

+0

ja Dort ist ich es in meiner Beschreibung ... – Ben2pop

+0

Ich kann nicht sagen, was das Problem von der Fehlermeldung ist. Die vollständige Traceback könnte zeigen, was das Problem ist. – Alasdair