解決Django migrate No changes detected 不能創(chuàng)建表的問題
起因
修改了表結(jié)構(gòu)以后執(zhí)行python3 manage.py migrate 報(bào)錯(cuò):
django.db.utils.OperationalError: (1091, "Can't DROP 'email'; check that column/key exists")
所以進(jìn)數(shù)據(jù)庫把對(duì)應(yīng)的表刪除了,想著重新生成這張表.
刪除表以后執(zhí)行:
python3 manage.py makemigrations python3 manage.py migrate
還是不能生成表,提示:No changes detected
處理過程
首先刪除了app對(duì)應(yīng)目錄下的數(shù)據(jù)庫對(duì)應(yīng)的文件和緩存文件:
$ rm -rf migrations/ __pycache__/
重新執(zhí)行:
$ python3 manage.py makemigrations No changes detected $~/code/django/blogproject$ python3 manage.py makemigrations comments Migrations for 'comments': comments/migrations/0001_initial.py - Create model Comment $~/code/django/blogproject$ python3 manage.py migrate Operations to perform: Apply all migrations: admin, auth, blog, comments, contenttypes, sessions, users Running migrations: No migrations to apply.
進(jìn)入數(shù)據(jù)庫發(fā)現(xiàn)仍然沒有生成表.
然后發(fā)現(xiàn)有一張django_migrations表,里面記錄這有關(guān)創(chuàng)建表的記錄,刪除對(duì)應(yīng)的數(shù)據(jù)表:
delete from django_migrations where app='yourappname';
重新執(zhí)行生成數(shù)據(jù)庫命令:
$ python3 manage.py makemigrations comments No changes detected in app 'comments' $~/code/django/blogproject$ python3 manage.py migrate comments Operations to perform: Apply all migrations: comments Running migrations: Applying comments.0001_initial... OK
數(shù)據(jù)表順利生成.
結(jié)論
在執(zhí)行
python3 manage.py makemigrations python3 manage.py migrate
操作的時(shí)候,不僅會(huì)創(chuàng)建0001_initial.py對(duì)應(yīng)的模型腳本,還會(huì)創(chuàng)建一個(gè)數(shù)據(jù)庫記錄創(chuàng)建的模型.如果想重新生成數(shù)據(jù)庫,需要兩個(gè)地方都做刪除.
以上這篇解決Django migrate No changes detected 不能創(chuàng)建表的問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 對(duì)Django 中request.get和request.post的區(qū)別詳解
- 基于Django URL傳參 FORM表單傳數(shù)據(jù) get post的用法實(shí)例
- 教你如何將 Sublime 3 打造成 Python/Django IDE開發(fā)利器
- Python+Django在windows下的開發(fā)環(huán)境配置圖解
- python Django連接MySQL數(shù)據(jù)庫做增刪改查
- Django如何自定義model創(chuàng)建數(shù)據(jù)庫索引的順序
- Django中對(duì)數(shù)據(jù)查詢結(jié)果進(jìn)行排序的方法
- Django中幾種重定向方法
- Python的Django框架中forms表單類的使用方法詳解
- python Django模板的使用方法(圖文)
- Django objects.all()、objects.get()與objects.filter()之間的區(qū)別介紹
- 教你安裝python Django(圖文)
- Django中更新多個(gè)對(duì)象數(shù)據(jù)與刪除對(duì)象的方法
- Django框架中render_to_response()函數(shù)的使用方法
- Django靜態(tài)資源URL STATIC_ROOT的配置方法
- django啟動(dòng)uwsgi報(bào)錯(cuò)的解決方法
- 詳解Django框架中用戶的登錄和退出的實(shí)現(xiàn)
- Django讀取Mysql數(shù)據(jù)并顯示在前端的實(shí)例
- Django小白教程之Django用戶注冊(cè)與登錄
- Python3+Django get/post請(qǐng)求實(shí)現(xiàn)教程詳解
相關(guān)文章
在Python中使用matplotlib模塊繪制數(shù)據(jù)圖的示例
這篇文章主要介紹了在Python中使用matplotlib模塊繪制數(shù)據(jù)圖的示例,matplotlib模塊經(jīng)常被用來實(shí)現(xiàn)數(shù)據(jù)的可視化,需要的朋友可以參考下2015-05-05提升Python效率之使用循環(huán)機(jī)制代替遞歸函數(shù)
這篇文章主要介紹了提升Python效率之使用循環(huán)機(jī)制代替遞歸函數(shù)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07python通過ssh-powershell監(jiān)控windows的方法
這篇文章主要介紹了python通過ssh-powershell監(jiān)控windows的方法,涉及Python操作ssh-powershell的相關(guān)技巧,需要的朋友可以參考下2015-06-06Python+MediaPipe實(shí)現(xiàn)檢測(cè)人臉功能詳解
MediaPipe是用于構(gòu)建多模態(tài)(例如視頻、音頻或任何時(shí)間序列數(shù)據(jù))、跨平臺(tái)(即eAndroid、IOS、web、邊緣設(shè)備)應(yīng)用ML管道的框架。本文將利用MediaPipe實(shí)現(xiàn)檢測(cè)人臉功能,需要的可以參考一下2022-02-02如何基于python實(shí)現(xiàn)單目三維重建詳解
單目三維重建是根據(jù)單個(gè)攝像頭的運(yùn)動(dòng)模擬雙目視覺獲得物體在空間中的三維視覺信息,下面這篇文章主要給大家介紹了關(guān)于如何基于python實(shí)現(xiàn)單目三維重建的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06python實(shí)現(xiàn)手機(jī)通訊錄搜索功能
這篇文章主要介紹了python模仿手機(jī)通訊錄搜索功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02談?wù)剬?duì)Pytorch中的forward的理解
這篇文章主要介紹了談?wù)剬?duì)Pytorch中的forward的理解,在Pytorch中,forward方法是一個(gè)特殊的方法,被專門用來進(jìn)行前向傳播,本文給大家詳細(xì)講解,需要的朋友可以參考下2023-04-04Python的Flask框架中SQLAlchemy使用時(shí)的亂碼問題解決
這篇文章主要介紹了Python的Flask框架中SQLAlchemy使用時(shí)的亂碼問題解決,SQLAlchemy與Python結(jié)合對(duì)數(shù)據(jù)庫的操作非常方便,需要的朋友可以參考下2015-11-11