升级到 Django 1.7 后无法进行迁移 运行

Can't make migrations run after upgrading to Django 1.7

我正在尝试将我的 Django 1.6.2 应用程序升级到 Django 1.7.10,但由于 makemigrations 命令不断出现错误而卡住了。我从未在此应用程序中使用过迁移。当我 运行 命令 "python ./manage.py makemigrations" 时,出现以下错误:

... # stacktrace
File "/Users/myname/venv/myproject/lib/python2.7/site-packages/django/db/migrations/state.py", line 248, in __init__
  raise ValueError(msg.format(field=operations[0][1], model=lookup_model))
  ValueError: Lookup failed for model referenced by field my.admin.PhotoQueue.review_queue: my.admin.my.admin.ReviewQueue

其中 my.admin 是 "admin" 应用程序的 AppConfig 标签,其模型模块包含有问题的 类:

# apps/admin/models.py   <- I keep all my apps in an "apps" subdirectory in my project
from django.contrib.auth.models import User
class ReviewQueue(models.Model):
    """Queue contains changes that need to be reviewed."""
    user = models.ForeignKey(User)
    ...  # more declarations

class PhotoQueue(models.Model):
    """Queue contains information about photos uploaded by a user."""
    review_queue = models.OneToOneField(ReviewQueue, primary_key=True)

如您所见,我的评论队列中的项目可以选择与我的照片队列中的项目相关。 ReviewQueue 和 PhotoQueue 类 驻留在同一模块中,并且 ReviewQueue 是在 PhotoQueue 之前声明的。我在网上查看是否有其他人遇到过这个问题,但没有看到任何东西。我还查看了是否存在与迁移和 OneToOneFields 相关的任何问题,但仍然没有成功。有谁知道是什么导致了这个问题?如果我不能解决它,我的生意就死了。

这是我安装的应用程序和应用程序配置:

# conf/settings/base.py
INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admin',
    'django.contrib.admindocs',
    # Project apps
    'apps.admin',
    'apps.members',
)

# apps/admin/models/apps.py
from django.apps import AppConfig
class AdminConfig(AppConfig):
    name = 'apps.admin'
    label = 'my.admin'

谢谢!

您的应用配置中的 label 不应包含点。你可以这样做:

class AdminConfig(AppConfig):
    name = 'apps.admin'
    label = 'myadmin'