I'm not sure. It looks like the crash happens when creating the model in the migration, not during the RunPython function. Could you create a minimal project that reproduces the crash so I can step through it?
On Monday, October 24, 2016 at 3:22:18 PM UTC-4, [email protected] wrote: > > Hi Tim, > > Traceback is below. > > As a temporary measure to get me going I have commented out the existing > migrations that added and removed the migrations. There is an initial > migration that adds the FK, a RunPython that checks for the FK to perform > some logic, and a migration to remove the FK. The RunPython does not import > the model that has the FK. It uses the apps.get_model() method. I have also > added the function called by RunPython below, in case that is of any use. > > Thanks, > Dylan > > Traceback: > Traceback (most recent call last): > File > "/home/dev/Programs/pycharm-2016.1.4/helpers/pycharm/django_manage.py", > line 41, in <module> > run_module(manage_file, None, '__main__', True) > File "/app/python3/lib/python3.5/runpy.py", line 196, in run_module > return _run_module_code(code, init_globals, run_name, mod_spec) > File "/app/python3/lib/python3.5/runpy.py", line 96, in _run_module_code > mod_name, mod_spec, pkg_name, script_name) > File "/app/python3/lib/python3.5/runpy.py", line 85, in _run_code > exec(code, run_globals) > File "/wip/projects/progress/base/manage.py", line 10, in <module> > execute_from_command_line(sys.argv) > File > "/wip/environments/progress/lib/python3.5/site-packages/django/core/management/__init__.py", > > line 354, in execute_from_command_line > utility.execute() > File > "/wip/environments/progress/lib/python3.5/site-packages/django/core/management/__init__.py", > > line 346, in execute > self.fetch_command(subcommand).run_from_argv(self.argv) > File > "/wip/environments/progress/lib/python3.5/site-packages/django/core/management/base.py", > > line 394, in run_from_argv > self.execute(*args, **cmd_options) > File > "/wip/environments/progress/lib/python3.5/site-packages/django/core/management/base.py", > > line 445, in execute > output = self.handle(*args, **options) > File > "/wip/environments/progress/lib/python3.5/site-packages/django/core/management/commands/migrate.py", > > line 222, in handle > executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial) > File > "/wip/environments/progress/lib/python3.5/site-packages/django/db/migrations/executor.py", > > line 110, in migrate > self.apply_migration(states[migration], migration, fake=fake, > fake_initial=fake_initial) > File > "/wip/environments/progress/lib/python3.5/site-packages/django/db/migrations/executor.py", > > line 148, in apply_migration > state = migration.apply(state, schema_editor) > File > "/wip/environments/progress/lib/python3.5/site-packages/django/db/migrations/migration.py", > > line 115, in apply > operation.database_forwards(self.app_label, schema_editor, old_state, > project_state) > File > "/wip/environments/progress/lib/python3.5/site-packages/django/db/migrations/operations/models.py", > > line 59, in database_forwards > schema_editor.create_model(model) > File > "/wip/environments/progress/lib/python3.5/site-packages/django/db/backends/base/schema.py", > > line 236, in create_model > definition, extra_params = self.column_sql(model, field) > File > "/wip/environments/progress/lib/python3.5/site-packages/django/db/backends/base/schema.py", > > line 135, in column_sql > db_params = field.db_parameters(connection=self.connection) > File > "/wip/environments/progress/lib/python3.5/site-packages/django/db/models/fields/related.py", > > line 2010, in db_parameters > return {"type": self.db_type(connection), "check": []} > File > "/wip/environments/progress/lib/python3.5/site-packages/django/db/models/fields/related.py", > > line 2001, in db_type > rel_field = self.related_field > File > "/wip/environments/progress/lib/python3.5/site-packages/django/db/models/fields/related.py", > > line 1904, in related_field > return self.foreign_related_fields[0] > File > "/wip/environments/progress/lib/python3.5/site-packages/django/db/models/fields/related.py", > > line 1638, in foreign_related_fields > return tuple(rhs_field for lhs_field, rhs_field in self.related_fields > if rhs_field) > File > "/wip/environments/progress/lib/python3.5/site-packages/django/db/models/fields/related.py", > > line 1625, in related_fields > self._related_fields = self.resolve_related_fields() > File > "/wip/environments/progress/lib/python3.5/site-packages/django/db/models/fields/related.py", > > line 1610, in resolve_related_fields > raise ValueError('Related model %r cannot be resolved' % self.rel.to) > ValueError: Related model 'workflow.Event' cannot be resolved > > RunPython function: > def load_email_sent_workflow(apps, schema_editor): > if schema_editor.connection.alias == 'default': > db_alias = schema_editor.connection.alias > EmailSent = apps.get_model('common', 'EmailSent') > for email_sent in > EmailSent.objects.using(db_alias).exclude(event__isnull=True): > if email_sent.event: > email_sent.workflow = email_sent.event.workflow > email_sent.save(update_fields=['workflow']) > > > -- 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 [email protected]. To post to this group, send email to [email protected]. 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/310238d8-dd59-419e-8760-e6477f5e10c6%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

