溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

執(zhí)行Django數(shù)據(jù)遷移時報 1091錯誤及解決方法

發(fā)布時間:2020-10-19 02:53:14 來源:腳本之家 閱讀:273 作者:紫菱_cmx 欄目:開發(fā)技術

問題描述

  今天在Pycharm 中的Terminal下,執(zhí)行數(shù)據(jù)遷移操作時,第一步: Python manage.py makemigrations ,是沒有任何問題,但就是在執(zhí)行真正的數(shù)據(jù)遷移時,也就是第二步:Python manage.py migrate 時,報錯,錯誤截圖如下

執(zhí)行Django數(shù)據(jù)遷移時報 1091錯誤及解決方法

大概的意思就是   錯誤代碼1091,原因是  “無法刪除'dt_id';請檢查列/鍵是否存在”。

問題的解決

分析:

    可能是數(shù)據(jù)庫中的字段結構,已經(jīng)完成了對此字段的修改,但是在執(zhí)行數(shù)據(jù)遷移的時候,生成的某個日志文件(一般形如: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',
    ),
    migrations.RemoveField(
      model_name='student',
      name='salary',
    ),
    migrations.AlterField(
      model_name='student',
      name='tel',
      field=models.CharField(max_length=20),
    ),
  ]

如上圖的紅色字體問題部分,就是我們這個數(shù)據(jù)遷移時報錯的原因,只要將紅色字體部分注釋掉即可

# 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',
    # ),
    # migrations.RemoveField(
    #   model_name='student',
    #   name='salary',
    # ),
    migrations.AlterField(
      model_name='student',
      name='tel',
      field=models.CharField(max_length=20),
    ),
  ]

然后我們再次執(zhí)行 Python manage.py migrate  的時候就能成功遷移數(shù)據(jù)了。

總結

以上所述是小編給大家介紹的執(zhí)行Django數(shù)據(jù)遷移時報 1091錯誤及解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI