1. 程式人生 > 程式設計 >執行Django資料遷移時報 1091錯誤及解決方法

執行Django資料遷移時報 1091錯誤及解決方法

問題描述

  今天在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錯誤及解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!