国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

django 刪除數據庫表后重新同步的方法

2020-02-15 21:32:22
字體:
來源:轉載
供稿:網友

由于項目需要,最近在用基于Python語言的一個后端框架Django開發web應用。不得不說,Django繼承了Python的簡潔性,用它來開發web應用簡單清爽,不同于從前的SSH框架,需要單獨配置每個框架,還需要通過配置將各個框架集合起來,Django就集成了SSH三個框架的功能,只需要配置好這一個框架,整個后端開發流程全部可以完成,并且配置過程簡單易學,這就大大降低了程序員的使用復雜度,可以將更多的精力集中于寫出好的代碼,而不是糾結于工具的使用。

閑言少敘,現在就來說一說我遇到的問題和解決方案。

我們都知道Django提供了ORM的功能,可以通過操作代碼中的類直接創建數據庫表以及進行增刪改查。但是在開發過程中,由于數據庫表的重新設計,需要刪除原表,并通過Django的ORM功能重新同步表。

同步命令如下:

python manage.py makemigrations 
python manage.py migrate 

但是在我輸入命令之后報錯了:

提示說我新增的字段沒有默認值(我對數據庫表的修改就是增加了一個字段),然后我去百度,在stackoverflow上找到了答案,在該字段后增加一個默認值即可。但是明顯這個答案沒有找到我遇到問題的真正原因,因為這樣做第一條命令成功執行,但是到第二條時就直接報錯。

然后我又去百度,有人建議看一下框架自動生成的initial文件,該文件在當前app下的migrations目錄下,打開后發現該文件內容和原表對應,也就是并沒有更新,問題可能就在這了。于是我按照建議刪除了這個文件重新生成。

刪除文件之后重新執行命令,這次確實生成了新的initial文件,內容也已經更新,但是執行第二條命令時還是出了問題,查看數據庫,空空如也,沒有產生新表。崩潰。

然后又去百度,找相關問題看,看到另外一條命令:

python manage.py sqlmigrate your_app_name 0001 

把your_app_name換成自己的app名字即可看到框架自動生成的創建表sql語句,于是我就這樣看到了sql語句。我直接在數據庫中執行了該句sql命令手動創建了表,再啟動應用,可以正常啟動,問題解決。

雖然這個方法有些取巧吧,似乎還是沒有解釋問題的癥結所在,但好在很實用地解決了問題。

以上這篇django 刪除數據庫表后重新同步的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三都| 剑川县| 襄汾县| 古交市| 漾濞| 新郑市| 习水县| 抚顺市| 喀什市| 涡阳县| 藁城市| 墨竹工卡县| 兴义市| 新巴尔虎右旗| 治县。| 荆州市| 安图县| 恩平市| 称多县| 噶尔县| 资中县| 虎林市| 祥云县| 东阳市| 边坝县| 建湖县| 新宾| 图们市| 黔江区| 留坝县| 乌兰县| 巴彦县| 宁河县| 青龙| 张家口市| 黄梅县| 嘉义县| 进贤县| 新丰县| 新乐市| 焉耆|