migration - Django migrate model with user in a foreignkey fails -
im trying migrate django model:
from django.contrib.auth.models import user class post(models.model): headline = models.charfield(max_length=200) slug = models.slugfield(max_length=200) body = models.textfield(blank=true, null=true) author = models.foreignkey(user, null=true, blank=true)
i added author field after created model.
here migration django creates:
# encoding: utf8 django.db import models, migrations class migration(migrations.migration): dependencies = [('articles', '0002_auto')] operations = [ migrations.addfield( field = models.foreignkey(to_field=u'id', to=u'auth.user', blank=true, null=true), name = 'author', model_name = 'post', ), ]
here traceback when try run ./manage.py migrate:
operations perform: synchronize unmigrated apps: ckeditor, sessions, admin, messages, auth, staticfiles, contenttypes, django_extensions apply migrations: articles synchronizing apps without migrations: creating tables... installing custom sql... installing indexes... installed 0 object(s) 0 fixture(s) running migrations: applying articles.0002_post_author...traceback (most recent call last): file "./manage.py", line 10, in <module> execute_from_command_line(sys.argv) file "/home/user/.virtualenvs/project/src/django-trunk/django/core/management/__init__.py", line 397, in execute_from_command_line utility.execute() file "/home/user/.virtualenvs/project/src/django-trunk/django/core/management/__init__.py", line 390, in execute self.fetch_command(subcommand).run_from_argv(self.argv) file "/home/user/.virtualenvs/project/src/django-trunk/django/core/management/base.py", line 242, in run_from_argv self.execute(*args, **options.__dict__) file "/home/user/.virtualenvs/project/src/django-trunk/django/core/management/base.py", line 289, in execute output = self.handle(*args, **options) file "/home/user/.virtualenvs/project/src/django-trunk/django/core/management/commands/migrate.py", line 116, in handle executor.migrate(targets, plan, fake=options.get("fake", false)) file "/home/user/.virtualenvs/project/src/django-trunk/django/db/migrations/executor.py", line 60, in migrate self.apply_migration(migration, fake=fake) file "/home/user/.virtualenvs/project/src/django-trunk/django/db/migrations/executor.py", line 73, in apply_migration migration.apply(project_state, schema_editor) file "/home/user/.virtualenvs/project/src/django-trunk/django/db/migrations/migration.py", line 80, in apply operation.database_forwards(self.app_label, schema_editor, project_state, new_state) file "/home/user/.virtualenvs/project/src/django-trunk/django/db/migrations/operations/fields.py", line 22, in database_forwards schema_editor.add_field(from_model, to_model._meta.get_field_by_name(self.name)[0]) file "/home/user/.virtualenvs/project/src/django-trunk/django/db/backends/schema.py", line 349, in add_field definition, params = self.column_sql(model, field, include_default=true) file "/home/user/.virtualenvs/project/src/django-trunk/django/db/backends/schema.py", line 105, in column_sql db_params = field.db_parameters(connection=self.connection) file "/home/user/.virtualenvs/project/src/django-trunk/django/db/models/fields/related.py", line 1285, in db_parameters return {"type": self.db_type(connection), "check": []} file "/home/user/.virtualenvs/project/src/django-trunk/django/db/models/fields/related.py", line 1276, in db_type rel_field = self.related_field file "/home/user/.virtualenvs/project/src/django-trunk/django/db/models/fields/related.py", line 1183, in related_field return self.foreign_related_fields[0] file "/home/user/.virtualenvs/project/src/django-trunk/django/db/models/fields/related.py", line 971, in foreign_related_fields return tuple(rhs_field lhs_field, rhs_field in self.related_fields) file "/home/user/.virtualenvs/project/src/django-trunk/django/db/models/fields/related.py", line 958, in related_fields self._related_fields = self.resolve_related_fields() file "/home/user/.virtualenvs/project/src/django-trunk/django/db/models/fields/related.py", line 943, in resolve_related_fields raise valueerror('related model %r cannot been resolved' % self.rel.to) valueerror: related model u'auth.user' cannot been resolved
anyone know i'm doing wrong?
what helped me in situation:
- delete migration files except
__init__.py
(/%prjname%/migrations folder) python manage.py makemigrations
python manage.py migrate
not sure exact cause, tried use files, generated code-partner , didn't work out.
Comments
Post a Comment