Hey everyone, While upgrading from 1.9 to 1.10, I got errors that lazy ForeignKey references cannot be resolved similar to the following (full stack trace is included below):
ValueError: Related model 'appname.ModelName' cannot be resolved This occurs with anything from simple models to abstract models, referencing other models within the same app, other apps, and recursive relationships ('self'). In searching, I've found similar issues relating to migrations, however this happens when I call manage.py "runserver" or "shell". I haven't run or defined any migrations in 1.10 yet. Full stack trace (using Django 1.10; directories and the app name have been obfuscated from the original) Note: This error references a model using an abstract model, but as stated above this is just one instance where it doesn't work. If I were to temporarily comment out the field, it would just error out with the next one. user@host:/pwd$ python manage.py shell Traceback (most recent call last): File "./manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/usr/local/lib/python2.7/site-packages/django/core/management/ __init__.py", line 367, in execute_from_command_line utility.execute() File "/usr/local/lib/python2.7/site-packages/django/core/management/ __init__.py", line 341, in execute django.setup() File "/usr/local/lib/python2.7/site-packages/django/__init__.py", line 27, in setup apps.populate(settings.INSTALLED_APPS) File "/usr/local/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate app_config.import_models(all_models) File "/usr/local/lib/python2.7/site-packages/django/apps/config.py", line 199, in import_models self.models_module = import_module(models_module_name) File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module __import__(name) File "/pwd/app/models.py", line 482, in <module> class Employee(EmployeeDatedFieldsAbstractModel, AbstractBaseUser, PermissionsMixin): File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 309, in __new__ new_class._prepare() File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 349, in _prepare if not opts.managers or cls._requires_legacy_default_manager(): File "/usr/local/lib/python2.7/site-packages/django/utils/functional.py", line 35, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/usr/local/lib/python2.7/site-packages/django/db/models/options.py", line 374, in managers manager = copy.copy(manager) File "/usr/local/lib/python2.7/copy.py", line 88, in copy rv = reductor(2) File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 208, in __getstate__ self._fetch_all() File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 1085, in _fetch_all self._result_cache = list(self.iterator()) File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 54, in __iter__ results = compiler.execute_sql() File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler .py", line 824, in execute_sql sql, params = self.as_sql() File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler .py", line 369, in as_sql extra_select, order_by, group_by = self.pre_sql_setup() File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler .py", line 46, in pre_sql_setup self.setup_query() File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler .py", line 37, in setup_query self.select, self.klass_info, self.annotation_col_map = self.get_select() File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler .py", line 194, in get_select for c in self.get_default_columns(): File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler .py", line 516, in get_default_columns column = field.get_col(alias) File "/usr/local/lib/python2.7/site-packages/django/db/models/fields/ related.py", line 954, in get_col return super(ForeignKey, self).get_col(alias, output_field or self.target_field) File "/usr/local/lib/python2.7/site-packages/django/db/models/fields/ related.py", line 855, in target_field return self.foreign_related_fields[0] File "/usr/local/lib/python2.7/site-packages/django/db/models/fields/ related.py", line 595, in foreign_related_fields return tuple(rhs_field for lhs_field, rhs_field in self.related_fields if rhs_field) File "/usr/local/lib/python2.7/site-packages/django/db/models/fields/ related.py", line 582, in related_fields self._related_fields = self.resolve_related_fields() File "/usr/local/lib/python2.7/site-packages/django/db/models/fields/ related.py", line 567, in resolve_related_fields raise ValueError('Related model %r cannot be resolved' % self.remote_field.model) ValueError: Related model 'app.Department' cannot be resolved -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/9f06986d-62d7-4ab8-9027-bfa88ce5ad06%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.