zoukankan      html  css  js  c++  java
  • django Table doesn't exist

    1146 django Table '' doesn't exist
     
    一:出错原因
     
    手动在数据库中drop了一张表,重新执行python manage.py migrate时出错,提示不存在这张表
    django一般在第一次迁移的时候新建表,后面的都不会新建表,只检查字段等等的变化,既然已经删除了这张表,django检查这张表的字段变化的时候就自然报错了
     
    二:解决方案
     
    清空迁移文件 rm -rf app/migrations/* (app对应表所在模块儿)
    先 python manage.py makemigrations app 生成迁移文件
    然后
    删除vim app/migrations/0001_initial.py 对应创建表的字段

            migrations.CreateModel(

                name='table',

                fields=[

                    ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),

                   .....

                ],  

                options={

                  ...

                },  

            ),

    最后
    python manage.py makemigrations
    python manage.py migrate
     
    三:其他技巧
     
    如果表改动较大,现存测试数据不太重要,迁移出错时,可以主动删除数据库这张表然后通过上面的操作再创建,免得麻烦。

  • 相关阅读:
    面向接口程序设计思想实践
    Block Chain Learning Notes
    ECMAScript 6.0
    Etcd Learning Notes
    Travis CI Build Continuous Integration
    Markdown Learning Notes
    SPRING MICROSERVICES IN ACTION
    Java Interview Questions Summary
    Node.js Learning Notes
    Apache Thrift Learning Notes
  • 原文地址:https://www.cnblogs.com/cutesnow/p/9487407.html
Copyright © 2011-2022 走看看