Hello, I have created a new model called Settings, which has a OneToOneField(User, primary_key=True) field. After the automatically created migrations.CreateModel() invocation I added a RunPython line that runs this function:
def create_user_settings(apps, schema_editor): User = get_user_model() Settings = apps.get_model('accounts', 'Settings') for user in User.objects.all(): Settings.objects.get_or_create(user=user) # This is line 13 When running this migration, I get the following error: Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line utility.execute() File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/core/management/__init__.py", line 330, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/core/management/base.py", line 390, in run_from_argv self.execute(*args, **cmd_options) File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/core/management/base.py", line 441, in execute output = self.handle(*args, **options) File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 221, in handle executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial) File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/db/migrations/executor.py", line 110, in migrate self.apply_migration(states[migration], migration, fake=fake, fake_initial=fake_initial) File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/db/migrations/executor.py", line 147, in apply_migration state = migration.apply(state, schema_editor) File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/db/migrations/migration.py", line 115, in apply operation.database_forwards(self.app_label, schema_editor, old_state, project_state) File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/db/migrations/operations/special.py", line 183, in database_forwards self.code(from_state.apps, schema_editor) File "/home/polesz/Projects/dem/accounts/migrations/0003_settings.py", line 13, in create_user_settings Settings.objects.get_or_create(user=user) File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/db/models/manager.py", line 127, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/db/models/query.py", line 405, in get_or_create return self.get(**lookup), False File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/db/models/query.py", line 325, in get clone = self.filter(*args, **kwargs) File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/db/models/query.py", line 679, in filter return self._filter_or_exclude(False, *args, **kwargs) File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/db/models/query.py", line 697, in _filter_or_exclude clone.query.add_q(Q(*args, **kwargs)) File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1306, in add_q clause, require_inner = self._add_q(where_part, self.used_aliases) File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1333, in _add_q current_negated=current_negated, connector=connector, allow_joins=allow_joins) File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1175, in build_filter self.check_related_objects(field, value, opts) File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1070, in check_related_objects self.check_query_object_type(value, opts) File "/home/polesz/Projects/dem/venv/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1054, in check_query_object_type (value, opts.object_name)) ValueError: Cannot query "polesz": Must be "User" instance. While debugging, it turns out that the value of the user variable is indeed a User instance. Do I miss some key information here? Maybe apps are not fully initialized when I run migrations? Best, Gergely -- 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 http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CACczBULo9LgrJ-d7AfmGUDN0aV9DRoz4gSRQJGLBQh9-PGmn6A%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.