Django 1.7迁移无法找到应用

时间:2015-03-09 16:05:57

标签: django django-migrations

我在运行将字段从CharField更改为ManyToMany字段的迁移时出错。

我有一个自定义用户模型,它选择了他们的兴趣,为了简单起见,我已经大大减少了。

# main.models
class Interest(models.Model):
    """
    get what the user is interested in.
    """
    name = models.CharField(max_length=30)

    def __str__(self):
        return self.name


# accounts.models
from main.models import Interest

class User(AbstractUser):
    """
    the custom user class we are using
    """
    # before it was:
    # interests = models.CharField(max_length=100, blank=True)
    interests = models.ManyToManyField(Interest, blank=True, null=True,
        help_text="What are your interests or hobbies?")


# migration.py
from __future__ import unicode_literals

from django.db import models, migrations


class Migration(migrations.Migration):

    dependencies = [
        ('accounts', '0009_remove_user_friends'),
    ]

    operations = [
        migrations.AlterField(
            model_name='user',
            name='interests',
            field=models.ManyToManyField(help_text='What are your interests or hobbies?', to='main.Interest', null=True, blank=True),
            preserve_default=True,
        ),
    ]

主要应用已在INSTALLED_APPS中正确安装,依赖关系已存在,而且到目前为止我还没有遇到任何迁移问题(在应用内应用中进行第9次迁移)。

这是堆栈跟踪。它似乎在迁移文件中遇到to='main.Interest'问题,但我不确定如何修复它?

Applying accounts.0010_auto_20150309_1554...Traceback (most recent call last):
  File "/Users/awwester/Sites/django/rlg/lib/python3.4/site-packages/django/apps/registry.py", line 148, in get_app_config
    return self.app_configs[app_label]
KeyError: 'main'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/awwester/Sites/django/rlg/lib/python3.4/site-packages/django/db/migrations/state.py", line 84, in render
    model = self.apps.get_model(lookup_model[0], lookup_model[1])
  File "/Users/awwester/Sites/django/rlg/lib/python3.4/site-packages/django/apps/registry.py", line 202, in get_model
    return self.get_app_config(app_label).get_model(model_name.lower())
  File "/Users/awwester/Sites/django/rlg/lib/python3.4/site-packages/django/apps/registry.py", line 150, in get_app_config
    raise LookupError("No installed app with label '%s'." % app_label)
LookupError: No installed app with label 'main'.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/awwester/Sites/django/rlg/lib/python3.4/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
    utility.execute()
  File "/Users/awwester/Sites/django/rlg/lib/python3.4/site-packages/django/core/management/__init__.py", line 377, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/awwester/Sites/django/rlg/lib/python3.4/site-packages/django/core/management/base.py", line 288, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/Users/awwester/Sites/django/rlg/lib/python3.4/site-packages/django/core/management/base.py", line 338, in execute
    output = self.handle(*args, **options)
  File "/Users/awwester/Sites/django/rlg/lib/python3.4/site-packages/django/core/management/commands/migrate.py", line 161, in handle
    executor.migrate(targets, plan, fake=options.get("fake", False))
  File "/Users/awwester/Sites/django/rlg/lib/python3.4/site-packages/django/db/migrations/executor.py", line 68, in migrate
    self.apply_migration(migration, fake=fake)
  File "/Users/awwester/Sites/django/rlg/lib/python3.4/site-packages/django/db/migrations/executor.py", line 96, in apply_migration
    if self.detect_soft_applied(migration):
  File "/Users/awwester/Sites/django/rlg/lib/python3.4/site-packages/django/db/migrations/executor.py", line 140, in detect_soft_applied
    apps = project_state.render()
  File "/Users/awwester/Sites/django/rlg/lib/python3.4/site-packages/django/db/migrations/state.py", line 94, in render
    raise ValueError(msg.format(field=operations[0][1], model=lookup_model))
ValueError: Lookup failed for model referenced by field accounts.User.interests: main.Interest

0 个答案:

没有答案