執行Django資料遷移時報 1091錯誤及解決方法
阿新 • • 發佈:2020-01-09
問題描述
今天在Pycharm 中的Terminal下,執行資料遷移操作時,第一步: Python manage.py makemigrations ,是沒有任何問題,但就是在執行真正的資料遷移時,也就是第二步:Python manage.py migrate 時,報錯,錯誤截圖如下
大概的意思就是 錯誤程式碼1091,原因是 “無法刪除'dt_id';請檢查列/鍵是否存在”。
問題的解決
分析:
可能是資料庫中的欄位結構,已經完成了對此欄位的修改,但是在執行資料遷移的時候,生成的某個日誌檔案(一般形如:0003_auto_20191011_2032.py),可能還有一些刪除的欄位
# Generated by Django 2.0.6 on 2019-10-11 12:32 from django.db import migrations,models class Migration(migrations.Migration): dependencies = [ ('modelapp','0002_student'),] operations = [ migrations.RemoveField( model_name='student',name='age',),migrations.RemoveField( model_name='student',name='birthday',name='salary',migrations.AlterField( model_name='student',name='tel',field=models.CharField(max_length=20),]
如上圖的紅色字型問題部分,就是我們這個資料遷移時報錯的原因,只要將紅色字型部分註釋掉即可
# Generated by Django 2.0.6 on 2019-10-11 12:32 from django.db import migrations,] operations = [ # migrations.RemoveField( # model_name='student',# name='age',# ),# migrations.RemoveField( # model_name='student',# name='birthday',# name='salary',]
然後我們再次執行 Python manage.py migrate 的時候就能成功遷移資料了。
總結
以上所述是小編給大家介紹的執行Django資料遷移時報 1091錯誤及解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!