Django 1.7 - makemigrations没有检测到变化 - 托管模型

时间:2014-09-11 15:34:23

标签: python django django-models django-migrations

我刚在虚拟环境中安装了django 1.7。

然后我手动创建了以下文件:

service_bus/
service_bus/__init__.py
service_bus/django_settings.py
service_bus/models
service_bus/models/__init__.py
service_bus/models/dsp.py
service_bus/models/audience_type.py
service_bus/models/category.py
service_bus/models/audience.py
service_bus/models/dsp_config.py
service_bus/models/apsettings.py

所以我有一个设置文件service_bus/django_settings.pyservice_bus应用。

然后我做了,在bash:

export DJANGO_SETTINGS_MODULE='service_bus.django_settings'

然后我只是尝试运行makemigrations,但它说没有检测到任何更改。

$ django-admin makemigrations
Loading properties from /etc/s1mbi0se/dmp.ini
System check identified some issues:

WARNINGS:
?: (1_6.W001) Some project unittests may not execute as expected.
    HINT: Django 1.6 introduced a new default test runner. It looks like this project was generated using Django 1.5 or earlier. You should ensure your tests are all running & behaving as expected. See https://docs.djangoproject.com/en/dev/releases/1.6/#new-test-runner for more information.
No changes detected


$ django-admin makemigrations service_bus
Loading properties from /etc/s1mbi0se/dmp.ini
System check identified some issues:

WARNINGS:
?: (1_6.W001) Some project unittests may not execute as expected.
    HINT: Django 1.6 introduced a new default test runner. It looks like this project was generated using Django 1.5 or earlier. You should ensure your tests are all running & behaving as expected. See https://docs.djangoproject.com/en/dev/releases/1.6/#new-test-runner for more information.
No changes detected in app 'service_bus'

在我的所有模特中,我都有类似

的东西
class APSettings(models.Model):
    ...
    class Meta:
        db_table = u'APSettings'
        app_label = 'service_bus'

我能错过什么?

2 个答案:

答案 0 :(得分:1)

首先需要运行migrate命令来构建数据库模式。然后,您可以为每个应用运行makemigrations。有关详细信息,请查看Django tutorial

答案 1 :(得分:1)

确保更新models.py文件以实际导入模型。例如,在models.py中,您有from service_bus.models.audience import *。管理脚本遍历该文件,导入audience.py中的所有模型并检测其中的更改。如果您没有将新模型添加到models.py,则管理脚本不会了解模型文件中的新模型。