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
三:其他技巧
如果表改動較大,現存測試數據不太重要,遷移出錯時,可以主動刪除數據庫這張表然后通過上面的操作再創建,免得麻煩。
