我在django中创建了一个应用程序:讲座
touch.models中的代码
class SchoolDepartment(models.Model):
id = models.AutoField(primary_key=True)
class Professor(models.Model):
id = models.AutoField(primary_key=True)
school_department = models.ForeignKey(SchoolDepartment)
class Lecture(models.Model):
id = models.AutoField(primary_key=True)
professor = models.ForeignKey(Professor)
school_department = models.ForeignKey(SchoolDepartment)
当我运行时,这段代码会引发错误
ImportError: cannot import name 'SchoolDepartment' from partially initialized module 'lecture.models' (most likely due to a circular import)
我必须知道,错误是由于循环导入造成的。
所以我像这样修改代码
class SchoolDepartment(models.Model):
id = models.AutoField(primary_key=True)
class Professor(models.Model):
id = models.AutoField(primary_key=True)
school_department = models.ForeignKey('lecture.SchoolDepartment')
class Lecture(models.Model):
id = models.AutoField(primary_key=True)
professor = models.ForeignKey(Professor)
school_department = models.ForeignKey('lecture.SchoolDepartment')
但仍然会引起错误。 这是完全的追踪
namsul_web | Watching for file changes with StatReloader
namsul_web | Exception in thread django-main-thread:
namsul_web | Traceback (most recent call last):
namsul_web | File "/usr/local/lib/python3.9/threading.py", line 950, in _bootstrap_inner
namsul_web | self.run()
namsul_web | File "/usr/local/lib/python3.9/threading.py", line 888, in run
namsul_web | self._target(*self._args, **self._kwargs)
namsul_web | File "/usr/local/lib/python3.9/site-packages/django/utils/autoreload.py", line 53, in wrapper
namsul_web | fn(*args, **kwargs)
namsul_web | File "/usr/local/lib/python3.9/site-packages/django/core/management/commands/runserver.py", line 110, in inner_run
namsul_web | autoreload.raise_last_exception()
namsul_web | File "/usr/local/lib/python3.9/site-packages/django/utils/autoreload.py", line 76, in raise_last_exception
namsul_web | raise _exception[1]
namsul_web | File "/usr/local/lib/python3.9/site-packages/django/core/management/__init__.py", line 357, in execute
namsul_web | autoreload.check_errors(django.setup)()
namsul_web | File "/usr/local/lib/python3.9/site-packages/django/utils/autoreload.py", line 53, in wrapper
namsul_web | fn(*args, **kwargs)
namsul_web | File "/usr/local/lib/python3.9/site-packages/django/__init__.py", line 24, in setup
namsul_web | apps.populate(settings.INSTALLED_APPS)
namsul_web | File "/usr/local/lib/python3.9/site-packages/django/apps/registry.py", line 114, in populate
namsul_web | app_config.import_models()
namsul_web | File "/usr/local/lib/python3.9/site-packages/django/apps/config.py", line 211, in import_models
namsul_web | self.models_module = import_module(models_module_name)
namsul_web | File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
namsul_web | return _bootstrap._gcd_import(name[level:], package, level)
namsul_web | File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
namsul_web | File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
namsul_web | File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
namsul_web | File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
namsul_web | File "<frozen importlib._bootstrap_external>", line 790, in exec_module
namsul_web | File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
namsul_web | File "/opt/project/NamSul/account/models.py", line 4, in <module>
namsul_web | from lecture.models import Lecture, Professor
namsul_web | File "/opt/project/NamSul/lecture/models.py", line 4, in <module>
namsul_web | from .managers import SchoolDepartmentManager
namsul_web | File "/opt/project/NamSul/lecture/managers.py", line 2, in <module>
namsul_web | from .models import SchoolDepartment, Professor
namsul_web | ImportError: cannot import name 'SchoolDepartment' from partially initialized module 'lecture.models' (most likely due to a circular import) (/opt/project/NamSul/lecture/models.py)
这是我在设置文件中安装的应用程序
...
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'main.apps.MainConfig',
'account.apps.AccountConfig',
'lecture.apps.LectureConfig',
'board.apps.BoardConfig',
'traffic.apps.TrafficConfig',
'corona.apps.CoronaConfig',
]
...
我怎样才能修好它
目前没有回答
相关问题 更多 >
编程相关推荐