- django models recursive imports - how to resolve
- from django.db import models
- from django.utils import simplejson
- from core.models import pmo_review_task
- from django.db import models
- from datetime import datetime
- from django.contrib.auth.models import User
- from core.models import sc_review_task
- from django.db import models
- from core.models import project_phase
- Unhandled exception in thread started by <bound method Command.inner_run of <django.core.management.commands.runserver.Command object at 0x010ACFB0>>
- Traceback (most recent call last):
- File "C:Python27libsite-packagesdjangocoremanagementcommandsrunserver.py", line 88, in inner_run
- self.validate(display_num_errors=True)
- File "C:Python27libsite-packagesdjangocoremanagementbase.py", line 249, in validate
- num_errors = get_validation_errors(s, app)
- File "C:Python27libsite-packagesdjangocoremanagementvalidation.py", line 35, in get_validation_errors
- for (app_name, error) in get_app_errors().items():
- File "C:Python27libsite-packagesdjangodbmodelsloading.py", line 146, in get_app_errors
- self._populate()
- File "C:Python27libsite-packagesdjangodbmodelsloading.py", line 64, in _populate
- self.load_app(app_name)
- File "C:Python27libsite-packagesdjangodbmodelsloading.py", line 78, in load_app
- models = import_module('.models', app_name)
- File "C:Python27libsite-packagesdjangoutilsimportlib.py", line 35, in import_module
- __import__(name)
- File "C:workPortmancoremodels__init__.py", line 4, in <module>
- from pmo_review_task import pmo_review_task
- File "C:workPortmancoremodelspmo_review_task.py", line 5, in <module>
- from core.models import sc_review_task
- File "C:workPortmancoremodelssc_review_task.py", line 3, in <module>
- from core.models import project_phase
- File "C:workPortmancoremodelsproject_phase.py", line 4, in <module>
- from core.models import pmo_review_task
- ImportError: cannot import name pmo_review_task
- project_phase = get_model('core', 'project_phase')
- import foo # executed upon importing this file.
- def import_foo_when_called():
- import foo # only executed when function is called, thus no problems when
- # another module imports this file.