Django將默認的SQLite更換為MySQL的實現(xiàn)
1、注釋默認的SQLite3配置:
blogproject/settings.py ''' DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } '''
2、添加MySQL配置(配置你自己的mysql庫前提是你已經(jīng)有能夠供自己使用的MySQL庫了)
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #固定配置 'HOST': '127.0.0.1',#mysql地址 'PORT': '3306',#端口號 'NAME': 'guest',#庫名(組名) 'USER': 'root',#用戶 'PASSWORD': '123456',#密碼 'OPTIONS': {'init_command': "SET sql_mode='STRICT_TRANS_TABLES'", }, } }
遷移數(shù)據(jù)庫
為了讓 Django 完成翻譯,使用我們在modele.py已經(jīng)創(chuàng)建好的這些數(shù)據(jù)庫表,我們請出我的工程管理助手 manage.py。激活虛擬環(huán)境,切換到 manage.py 文件所在的目錄下,分別運行 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ù)量可能沒有這么多
當我們執(zhí)行了 python manage.py makemigrations后,Django 在 blog 應(yīng)用的 migrations\ 目錄下生成了一個 0001_initial.py文件,這個文件是 Django 用來記錄我們對模型做了哪些修改的文件。目前來說,我們在 models.py 文件里創(chuàng)建了 3 個模型類,Django 把這些變化記錄在了 0001_initial.py里。
不過此時還只是告訴了 Django 我們做了哪些改變,為了讓 Django 真正地為我們創(chuàng)建數(shù)據(jù)庫表,接下來又執(zhí)行了 python manage.py migrate命令。Django 通過檢測應(yīng)用中 migrations\ 目錄下的文件,得知我們對數(shù)據(jù)庫做了哪些操作,然后它把這些操作翻譯成數(shù)據(jù)庫操作語言,從而把這些操作作用于真正的數(shù)據(jù)庫。
如果你使用的是mysql會生成0001_auto_20180507_2145.py
如果你需要在mysql和SQLite3之間切換你需要重新執(zhí)行python manage.py makemigrations和 python manage.py migrate命令,而且你原來庫中的數(shù)據(jù)不會轉(zhuǎn)移(執(zhí)行完上面兩個命令只會在新的數(shù)據(jù)庫中創(chuàng)建modele.py中的表)。
以上這篇Django將默認的SQLite更換為MySQL的實現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python人工智能tensorflow常見損失函數(shù)LOSS匯總
這篇文章主要為大家介紹了python人工智能tensorflowf常見損失函數(shù)LOSS匯總,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05Python中導(dǎo)入自定義模塊的幾種方法總結(jié)
這篇文章主要介紹了Python中導(dǎo)入自定義模塊的幾種方法總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01Flask框架使用DBUtils模塊連接數(shù)據(jù)庫操作示例
這篇文章主要介紹了Flask框架使用DBUtils模塊連接數(shù)據(jù)庫操作,結(jié)合實例形式較為詳細的分析了flask框架使用DBUtils模塊連接數(shù)據(jù)庫的常見操作技巧與相關(guān)注意事項,需要的朋友可以參考下2018-07-07python爬蟲使用正則爬取網(wǎng)站的實現(xiàn)
這篇文章主要介紹了python爬蟲使用正則爬取網(wǎng)站的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08解決pandas .to_excel不覆蓋已有sheet的問題
今天小編就為大家分享一篇解決pandas .to_excel不覆蓋已有sheet的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12