添加新表后,Django Makemigrations在版本1.10中不起作用

时间:2016-09-13 20:56:32

标签: python django python-2.7

我首次在models.py中添加了一些表格模型,然后运行了python manage.py makemigrations,然后是python manage.py migrate。这种方法效果很好但是在添加了两个表之后它再次无效。

它为所做的更改创建了迁移但是当我运行python manage.py migrate时没有任何反应。我的新表没有添加到数据库中。

我做过的事情:

  1. 删除迁移文件夹中的所有文件,然后运行python manage.py makemigrations,然后运行python manage.py migrate,但即使新表格模型新表格仍未添加到数据库中显示在创建的迁移中,即 0001_initial.py
  2. 删除了数据库,然后删除了上面的步骤,但仍然没有解决我的问题。只创建了第一组表。
  3. 尝试python manage.py makemigrations app_name,但仍然没有帮助。

3 个答案:

答案 0 :(得分:1)

之前我遇到过这个问题,并发现以这种方式运行manage.py特定表的工作:

python manage.py schemamigration mytablename --auto
python manage.py migrate

另外,请确保新表格列在INSTALLED_APPS的{​​{1}}下。

答案 1 :(得分:0)

你可以张贴你的模特吗?

您是否以任何方式编辑过manage.py?

确保模型有效后再尝试删除迁移和数据库,然后运行manage.py makemigrations appname,然后运行manage.py migrate。

答案 2 :(得分:-1)

你可以尝试:

  1. 删除了django-migrations表中的所有内容。
  2. 删除了迁移文件夹中的所有文件,然后运行python manage.py makemigrations,然后按照你的说法运行python manage.py migrate。
  3. 如果这不起作用,请尝试:

    1. 删除了django-migrations表中的所有内容。
    2. 删除了迁移文件夹中的所有文件,使用旧的model.py运行python manage.py makemigrations,然后运行python manage.py migrate。
    3. 添加新模型,运行python manage.py makemigrations,然后再次运行python manage.py migrate。