django實現(xiàn)將修改好的新模型寫入數(shù)據(jù)庫
大家在用django寫完模型代碼后,肯定都迫不及待的將模型翻譯為遷移文件然后migrate吧,后來發(fā)現(xiàn)以后模型要修改的話再python manage.py makemigrations app加migrate后結果發(fā)現(xiàn)并不管用,數(shù)據(jù)庫并不會作出任何修改,由于本人也是新手,于是在網(wǎng)上看來下資料,并且分析了下,發(fā)現(xiàn)了一種粗暴的解決方法:
(1)刪除原來的遷移文件
目錄如下項目名.app.migrations
(2)重新建立遷移文件
即重新python manage.py makemigrations app
(3)刪除數(shù)據(jù)庫記錄
進入項目數(shù)據(jù)庫,找到django_migrations表,把app為你app名字的那行記錄刪除,
(4)刪除相關app的舊表
將關于你修改后的app的表全部刪除
(5)將修改后的表加入數(shù)據(jù)庫
再回來進行migrate,你會發(fā)現(xiàn)你修改后的模型已經(jīng)成功的導入數(shù)據(jù)庫。
如果各位大神有更加好的方法,歡迎分享!
補充知識:python Django 初始化數(shù)據(jù)到數(shù)據(jù)庫的操作
引言:開發(fā)中經(jīng)常會遇到一些數(shù)據(jù)在程序的運行時就要在數(shù)據(jù)庫中存在,然后就對Django的數(shù)據(jù)初始化做一個簡單的分享
1.首先在我們的app下創(chuàng)建對應的models,然后在models里面進行表的創(chuàng)建
2.對應上面的表,我們想要為這個表初始化進去兩條數(shù)據(jù)
name:1 script_content:‘11111’
name:2 script_content:‘22222’
3.然后進行常規(guī)的表結構創(chuàng)建操作,在命令行運行python manage.py makemigrations + 自己的app名字
4.然后會看到在對應的app創(chuàng)建一個migrations的目錄
5.根據(jù)自己的的遷移文件初始化自己的數(shù)據(jù)到數(shù)據(jù)庫,這時在命令行運行,python manage.py makemigrations --enmpty + 自己的app名字
6.然后會在migrations的目錄下生成一個文件 如下圖0002開頭的文件:
7.然后在上面新生成的文件里面編寫一下兩個函數(shù)代碼
然后在文件中添加
然后在命令行執(zhí)行,python manage.py migrate
這時候數(shù)據(jù)庫中就有了初始化數(shù)據(jù)
大概整個過程就是這樣的,完成了django的數(shù)據(jù)的初始化
以上這篇django實現(xiàn)將修改好的新模型寫入數(shù)據(jù)庫就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關文章:
