ImportError: cannot import name 'GuideTeacher' from 'teacher.models'
ImportError: cannot import name 'GuideTeacher' from 'teacher.models'
我有一个教师模型和一个学术模型。当我从教师模型中导入学术模型中的内容时,我发现了一个导入错误,例如
File "/media/sajib/Work/Project/schoolmanagement/teacher/models.py", line 3, in
from academic.models import Department, ClassInfo, Section, Session, Shift
File "/media/sajib/Work/Project/schoolmanagement/academic/models.py", line 2, in
from teacher.models import GuideTeacher
ImportError: cannot import name 'GuideTeacher' from 'teacher.models' (/media/sajib/Work/Project/schoolmanagement/teacher/models.py)
现在我该如何解决这个问题?
academic/models.py
from teacher.models import GuideTeacher
class ClassRegistration(models.Model):
department_select = (
('general', 'General'),
('science', 'Science'),
('business', 'Business'),
('humanities', 'Humanities')
)
department = models.CharField(choices=department_select, max_length=15, null=True)
class_name = models.ForeignKey(ClassInfo, on_delete=models.CASCADE, null=True)
section = models.ForeignKey(Section, on_delete=models.CASCADE, null=True)
session = models.ForeignKey(Session, on_delete=models.CASCADE, null=True)
shift = models.ForeignKey(Shift, on_delete=models.CASCADE, null=True)
guide_teacher = models.OneToOneField(GuideTeacher, on_delete=models.CASCADE, null=True)
date = models.DateField(auto_now_add=True)
class Meta:
unique_together = ['class_name', 'section', 'shift', 'guide_teacher']
def __str__(self):
return str(self.class_name)
teacher/models.py
from academic.models import Department, ClassInfo, Section, Session, Shift
class GuideTeacher(models.Model):
name = models.OneToOneField(PersonalInfo, on_delete=models.CASCADE, null=True)
date = models.DateField(auto_now_add=True)
def __str__(self):
return str(self.name)
这是因为Circular Import。为了摆脱这种情况,删除academic/models.py
中的import语句并使用字符串表示指定FK相关模型
guide_teacher = models.OneToOneField(<b>'teacher.GuideTeacher'</b>, on_delete=models.CASCADE, null=True)
我有一个教师模型和一个学术模型。当我从教师模型中导入学术模型中的内容时,我发现了一个导入错误,例如
File "/media/sajib/Work/Project/schoolmanagement/teacher/models.py", line 3, in from academic.models import Department, ClassInfo, Section, Session, Shift File "/media/sajib/Work/Project/schoolmanagement/academic/models.py", line 2, in from teacher.models import GuideTeacher ImportError: cannot import name 'GuideTeacher' from 'teacher.models' (/media/sajib/Work/Project/schoolmanagement/teacher/models.py)
现在我该如何解决这个问题? academic/models.py
from teacher.models import GuideTeacher
class ClassRegistration(models.Model):
department_select = (
('general', 'General'),
('science', 'Science'),
('business', 'Business'),
('humanities', 'Humanities')
)
department = models.CharField(choices=department_select, max_length=15, null=True)
class_name = models.ForeignKey(ClassInfo, on_delete=models.CASCADE, null=True)
section = models.ForeignKey(Section, on_delete=models.CASCADE, null=True)
session = models.ForeignKey(Session, on_delete=models.CASCADE, null=True)
shift = models.ForeignKey(Shift, on_delete=models.CASCADE, null=True)
guide_teacher = models.OneToOneField(GuideTeacher, on_delete=models.CASCADE, null=True)
date = models.DateField(auto_now_add=True)
class Meta:
unique_together = ['class_name', 'section', 'shift', 'guide_teacher']
def __str__(self):
return str(self.class_name)
teacher/models.py
from academic.models import Department, ClassInfo, Section, Session, Shift
class GuideTeacher(models.Model):
name = models.OneToOneField(PersonalInfo, on_delete=models.CASCADE, null=True)
date = models.DateField(auto_now_add=True)
def __str__(self):
return str(self.name)
这是因为Circular Import。为了摆脱这种情况,删除academic/models.py
中的import语句并使用字符串表示指定FK相关模型
guide_teacher = models.OneToOneField(<b>'teacher.GuideTeacher'</b>, on_delete=models.CASCADE, null=True)