解決Django migrate No changes detected 不能創(chuàng)建表的問題
起因
修改了表結構以后執(zhí)行python3 manage.py migrate 報錯:
django.db.utils.OperationalError: (1091, "Can't DROP 'email'; check that column/key exists")
所以進數(shù)據庫把對應的表刪除了,想著重新生成這張表.
刪除表以后執(zhí)行:
python3 manage.py makemigrations python3 manage.py migrate
還是不能生成表,提示:No changes detected
處理過程
首先刪除了app對應目錄下的數(shù)據庫對應的文件和緩存文件:
$ 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.
進入數(shù)據庫發(fā)現(xiàn)仍然沒有生成表.
然后發(fā)現(xiàn)有一張django_migrations表,里面記錄這有關創(chuàng)建表的記錄,刪除對應的數(shù)據表:
delete from django_migrations where app='yourappname';
重新執(zhí)行生成數(shù)據庫命令:
$ 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ù)據表順利生成.
結論
在執(zhí)行
python3 manage.py makemigrations python3 manage.py migrate
操作的時候,不僅會創(chuàng)建0001_initial.py對應的模型腳本,還會創(chuàng)建一個數(shù)據庫記錄創(chuàng)建的模型.如果想重新生成數(shù)據庫,需要兩個地方都做刪除.
以上這篇解決Django migrate No changes detected 不能創(chuàng)建表的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- 對Django 中request.get和request.post的區(qū)別詳解
- 基于Django URL傳參 FORM表單傳數(shù)據 get post的用法實例
- 教你如何將 Sublime 3 打造成 Python/Django IDE開發(fā)利器
- Python+Django在windows下的開發(fā)環(huán)境配置圖解
- python Django連接MySQL數(shù)據庫做增刪改查
- Django如何自定義model創(chuàng)建數(shù)據庫索引的順序
- Django中對數(shù)據查詢結果進行排序的方法
- Django中幾種重定向方法
- Python的Django框架中forms表單類的使用方法詳解
- python Django模板的使用方法(圖文)
- Django objects.all()、objects.get()與objects.filter()之間的區(qū)別介紹
- 教你安裝python Django(圖文)
- Django中更新多個對象數(shù)據與刪除對象的方法
- Django框架中render_to_response()函數(shù)的使用方法
- Django靜態(tài)資源URL STATIC_ROOT的配置方法
- django啟動uwsgi報錯的解決方法
- 詳解Django框架中用戶的登錄和退出的實現(xiàn)
- Django讀取Mysql數(shù)據并顯示在前端的實例
- Django小白教程之Django用戶注冊與登錄
- Python3+Django get/post請求實現(xiàn)教程詳解
相關文章
使用selenium模擬動態(tài)登錄百度頁面的實現(xiàn)
本文主要介紹了使用selenium模擬動態(tài)登錄百度頁面,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-05-05
Python報錯TypeError: ‘dict‘ object is not&
在Python開發(fā)的旅程中,報錯信息就像是一個個路障,阻礙著我們前進的步伐,而“TypeError: ‘dict’ object is not iterable”這個報錯,常常讓開發(fā)者們陷入困惑,那么,這個報錯究竟是怎么產生的呢?又該如何有效地解決它呢?讓我們一起深入探討,找到解決問題的方法2024-10-10
更改Python的pip install 默認安裝依賴路徑方法詳解
今天小編就為大家分享一篇更改Python的pip install 默認安裝依賴路徑方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10

