Django將默認(rèn)的SQLite更換為MySQL的實(shí)現(xiàn)
1、注釋默認(rèn)的SQLite3配置:
blogproject/settings.py ''' DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } '''
2、添加MySQL配置(配置你自己的mysql庫(kù)前提是你已經(jīng)有能夠供自己使用的MySQL庫(kù)了)
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #固定配置 'HOST': '127.0.0.1',#mysql地址 'PORT': '3306',#端口號(hào) 'NAME': 'guest',#庫(kù)名(組名) 'USER': 'root',#用戶 'PASSWORD': '123456',#密碼 'OPTIONS': {'init_command': "SET sql_mode='STRICT_TRANS_TABLES'", }, } }
遷移數(shù)據(jù)庫(kù)
為了讓 Django 完成翻譯,使用我們?cè)趍odele.py已經(jīng)創(chuàng)建好的這些數(shù)據(jù)庫(kù)表,我們請(qǐng)出我的工程管理助手 manage.py。激活虛擬環(huán)境,切換到 manage.py 文件所在的目錄下,分別運(yùn)行 python manage.py makemigrations和 python manage.py migrate命令:
PS D:\xuexi\python\\django2\blogproject> python manage.py makemigrations Migrations for 'blog': blog\migrations\0001_initial.py: - Create model Category - Create model Post - Create model Tag - Add field tags to post PS D:\xuexi\python\web接口開發(fā)\django2\blogproject> python manage.py migrate Operations to perform: Apply all migrations: admin, auth, blog, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying blog.0001_initial... OK Applying sessions.0001_initial... OK
僅供參考你的數(shù)量可能沒(méi)有這么多
當(dāng)我們執(zhí)行了 python manage.py makemigrations后,Django 在 blog 應(yīng)用的 migrations\ 目錄下生成了一個(gè) 0001_initial.py文件,這個(gè)文件是 Django 用來(lái)記錄我們對(duì)模型做了哪些修改的文件。目前來(lái)說(shuō),我們?cè)?models.py 文件里創(chuàng)建了 3 個(gè)模型類,Django 把這些變化記錄在了 0001_initial.py里。
不過(guò)此時(shí)還只是告訴了 Django 我們做了哪些改變,為了讓 Django 真正地為我們創(chuàng)建數(shù)據(jù)庫(kù)表,接下來(lái)又執(zhí)行了 python manage.py migrate命令。Django 通過(guò)檢測(cè)應(yīng)用中 migrations\ 目錄下的文件,得知我們對(duì)數(shù)據(jù)庫(kù)做了哪些操作,然后它把這些操作翻譯成數(shù)據(jù)庫(kù)操作語(yǔ)言,從而把這些操作作用于真正的數(shù)據(jù)庫(kù)。
如果你使用的是mysql會(huì)生成0001_auto_20180507_2145.py
如果你需要在mysql和SQLite3之間切換你需要重新執(zhí)行python manage.py makemigrations和 python manage.py migrate命令,而且你原來(lái)庫(kù)中的數(shù)據(jù)不會(huì)轉(zhuǎn)移(執(zhí)行完上面兩個(gè)命令只會(huì)在新的數(shù)據(jù)庫(kù)中創(chuàng)建modele.py中的表)。
以上這篇Django將默認(rèn)的SQLite更換為MySQL的實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Django把SQLite數(shù)據(jù)庫(kù)轉(zhuǎn)換為Mysql數(shù)據(jù)庫(kù)的過(guò)程
- Django數(shù)據(jù)庫(kù)(SQlite)基本入門使用教程
- django 將自帶的數(shù)據(jù)庫(kù)sqlite3改成mysql實(shí)例
- Django 創(chuàng)建后臺(tái),配置sqlite3教程
- DJango的創(chuàng)建和使用詳解(默認(rèn)數(shù)據(jù)庫(kù)sqlite3)
- django 連接數(shù)據(jù)庫(kù) sqlite的例子
- django使用sqlite3統(tǒng)計(jì)前臺(tái)站點(diǎn)訪問(wèn)數(shù)量示例
相關(guān)文章
python人工智能tensorflow常見損失函數(shù)LOSS匯總
這篇文章主要為大家介紹了python人工智能tensorflowf常見損失函數(shù)LOSS匯總,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Python中導(dǎo)入自定義模塊的幾種方法總結(jié)
這篇文章主要介紹了Python中導(dǎo)入自定義模塊的幾種方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01Flask框架使用DBUtils模塊連接數(shù)據(jù)庫(kù)操作示例
這篇文章主要介紹了Flask框架使用DBUtils模塊連接數(shù)據(jù)庫(kù)操作,結(jié)合實(shí)例形式較為詳細(xì)的分析了flask框架使用DBUtils模塊連接數(shù)據(jù)庫(kù)的常見操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2018-07-07python爬蟲使用正則爬取網(wǎng)站的實(shí)現(xiàn)
這篇文章主要介紹了python爬蟲使用正則爬取網(wǎng)站的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08詳解Python如何實(shí)現(xiàn)查看WiFi密碼
這篇文章主要為大家詳細(xì)介紹了如何使用python來(lái)試試看看能不能讀取到已連接過(guò)WIFI的密碼,文中的示例代碼講解詳細(xì),?感興趣的小伙伴可以了解下2023-11-11Python學(xué)習(xí)之列表常用方法總結(jié)
這篇文章主要為大家介紹了Python中列表的幾個(gè)常用方法總結(jié),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python列表有一定幫助,需要的可以參考一下2022-03-03解決pandas .to_excel不覆蓋已有sheet的問(wèn)題
今天小編就為大家分享一篇解決pandas .to_excel不覆蓋已有sheet的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12python編程使用selenium模擬登陸淘寶實(shí)例代碼
這篇文章主要介紹了python編程使用selenium模擬登陸淘寶實(shí)例代碼,涉及selenium的簡(jiǎn)介及Windows下的安裝,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01