7

我开始了我的模型:

myapp.models.py

class MyModel(models.Model):

    field_a = models.FloatField()
    field_c = models.FloatField()

然后运行./manage.py migrate我的新项目,一切都很好:

Operations to perform:
  Synchronize unmigrated apps: myapp
  Apply all migrations: admin, contenttypes, auth, sessions
Synchronizing apps without migrations:
  Creating tables...
    Creating table myapp_mymodel
  Installing custom SQL...
  Installing indexes...
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying sessions.0001_initial... OK

然后我改变了我的模型:

class MyModel(models.Model):

    field_a = models.FloatField()
    field_b = models.FloatField()
    field_c = models.FloatField()

我又跑./manage.py migrate了,什么也没发生。

(project)$ ./manage.py migrate 
Operations to perform:
  Synchronize unmigrated apps: myapp
  Apply all migrations: admin, contenttypes, auth, sessions
Synchronizing apps without migrations:
  Creating tables...
  Installing custom SQL...
  Installing indexes...
Running migrations:
  No migrations to apply.

我想知道我需要做什么才能使我的新应用程序迁移?

4

2 回答 2

13

Ack,回答了我自己的问题。

我需要做的是运行:

./manage.py makemigrations myapp
于 2014-07-01T07:01:02.207 回答
3

如果即使您运行了makemigrations命令也发生了这种情况,您需要检查迁移文件夹中是否存在__initial__.py空文件。当我通过在测试远程服务器上运行创建迁移时,我曾经发生过一次事件,即使我已将所有创建的迁移复制到我的代码中,我也忘记复制有助于 migrate 命令识别具有迁移到的应用程序的占位符空文件跑。

希望它可以帮助某人。

于 2016-08-04T09:19:10.667 回答