Ссылка на круговую модель Django / Python

Хорошо. организованный код и создание отдельных приложений django вместо того, чтобы объединять все вместе в 1. Моя проблема в том, что у меня есть 3 приложения, каждое из которых ссылается на 1 другую модель из следующего приложения. Итак, в основном у меня есть бесконечный цикл: приложение A должно знать о B.models.something1, приложение B должно знать о C.models.Somthing2, а приложение C должно знать об A.models.something3. Это конечно не будет работать, для тех, кто задается вопросом, действительно ли это проблема :). Есть ли что-нибудь похожее на предварительное объявление классов, чтобы python знал, что классы действительно существуют?

Спасибо.

РЕДАКТИРОВАТЬ: Еще код: К сожалению, природа и модели моего проекта являются конфиденциальными, поэтому мне придется изменить имена, чтобы отразить что-то совершенно другое, но код останется прежним.

teacher / models.py

 from django.db import models
 from myapp.student.models import *
 from django.contrib.auth.models import User
 class Teacher(models.Model):
     """(description)"""
     user = models.ForeignKey(User)
     name = models.CharField(max_length=100)
     phone = models.CharField(max_length=13)
     phone_ext = models.CharField(blank=True, max_length=5)
     fax = models.CharField(blank=True, max_length=13)
     fax_ext = models.CharField(blank=True, max_length=100)
     url = models.URLField(blank=True, verify_exists=True)
     complaint = models.ManyToManyField(Complaint)
     city = models.CharField(blank=True, max_length=100)
     state = models.CharField(blank=True, max_length=100)
     postal_code = models.CharField(blank=True, max_length=15)
     location = models.ManyToManyField(Location)
     def __unicode__(self):
         return self.name
 class Location(models.Model):
     """(description)"""
     city = models.CharField(blank=True, max_length=100)
     state = models.CharField(blank=True, max_length=100)
     country = models.CharField(blank=False, max_length=100)
     def __unicode__(self):
         return self.city + ", " + self.state +", "+self.country

student / models.py

 from django.db import models
 from django.contrib.auth.models import User
 from myapp.school.models import School

 class Student(models.Model):
     """(Student description)"""
     user = models.ForeignKey(User)
     country = models.CharField(max_length=100)
     state = models.CharField(max_length=100)
     city = models.CharField(max_length=100)
     locale = models.CharField(blank=False, max_length=5)
     learningtype = models.CharField(blank=True, max_length=100)
     sites = models.TextField(blank=True)
     def __unicode__(self):
         return str(self.user)

 class Complaint(models.Model):
     """(Complaint description)"""
     student = models.ForeignKey(Student)
     site = models.ForeignKey(School)
     complaint = models.TextField(blank=False)
     def __unicode__(self):
         return str(self.site)

school / models.py

 from django.db import models
 from myapp.teacher.models import Location
 class School(models.Model):
     """(School description)"""
     name = models.CharField(max_length=100)
     url = models.URLField(verify_exists=True)
     img = models.ImageField(upload_to="casion_img/")
     rating = models.FloatField()
     description = models.CharField(blank=True, max_length=300)
     goodstanding = models.BooleanField(default=True)
     location = models.ForeignKey(Location)
     def __unicode__(self):
         return self.name

Вот что я получаю:

Файл "/Users/userzero/django/myapp/school/models.py", строка 2, в from teacher.models import Location Файл "/Users/userzero/django/myapp/teacher/models.py", строка 2, в from student.models import Жалоба Файл "/Users/userzero/django/myapp/student/models.py", строка 3, в from school.models import School Файл "/Users/userzero/django/myapp/casino/models.py", строка 2, в from teacher.models import Location ImportError: cannot import name Location

15
задан UserZer0 29 January 2011 в 00:28
поделиться