升级1.4时,无法迁移Django代理模型 - > 1.7

时间:2015-05-11 10:55:26

标签: django django-models django-migrations

拥有如下模型

from django.contrib.auth.models import User # has migrations in 1.7

class MyProxyUser(User):
    class Meta:
        proxy = True
在没有迁移的应用程序中,

在运行测试时会出现以下错误:

django.db.migrations.state.InvalidBasesError: Cannot resolve bases for [<ModelState: 'django_proxy_model_problems.MyProxyUser'>]
This can happen if you are inheriting models from an app with migrations (e.g. contrib.auth)
 in an app with no migrations; see https://docs.djangoproject.com/en/1.7/topics/migrations/#dependencies for more

同时阅读

我无法弄清楚我应该采取什么措施来解决这个问题(manage.py makemigrations报告No changes detected

使用this github repo

运行tox -e py27-django17可以重现此问题

这可以用Django 1.7&amp; amp; 1.8,但可以正常使用1.4

1 个答案:

答案 0 :(得分:3)

运行manage.py makemigrations <app_label>。除非您明确指定应用程序标签,否则Django不会创建迁移文件夹(如果它不存在)。这是因为(仍然)支持没有迁移的应用程序。

如果应用程序中存在migrations文件夹,并且有一个__init__.py文件(即使在Python 3上),Django会将该应用程序作为迁移的应用程序提取,并使用{{ {1}}。