python+Django(3)—mysql數(shù)據(jù)庫

背景

目前大多數(shù)的web頁面需要與mysql進行交互,需要把后端的一些數(shù)據(jù)存放在數(shù)據(jù)庫中持舆,故本文講解哈Django與mysql進行交互的一些操作步驟。

數(shù)據(jù)庫層

1.視圖邏輯需要與數(shù)據(jù)庫進行交互伪窖,故需要用到Django的數(shù)據(jù)庫層將數(shù)據(jù)庫和視圖邏輯進行分離逸寓,提高代碼的可擴展性。

PS.Django本身有嚴格的約定覆山,想要使用Django的數(shù)據(jù)庫層(模型)竹伸,必須創(chuàng)建Django應用,模型需要保存在應用中簇宽。

2.具體交互步驟

1)修改settings.py文件DATABASES的值

DATABASES =?

{ 'default':?

{ 'ENGINE': 'django.db.backends.mysql', # 指定數(shù)據(jù)庫驅(qū)動?

'NAME': 'XXXX', # 指定的數(shù)據(jù)庫名

?'USER': 'XXXX', # 數(shù)據(jù)庫登錄的用戶名?

'PASSWORD': 'XXXX', # 登錄數(shù)據(jù)庫的密碼

?'HOST': 'XXXX',?

'PORT': '3306', # 數(shù)據(jù)庫服務器端口勋篓,mysql默認為3306 } }

2)python 3.6之前的版本需安裝第三方庫MySQLdb,python3.6后的版本需安裝pymysql

3)項目目錄下創(chuàng)建polls應用魏割,執(zhí)行指令python manage.py startapp polls

4)poll應用中的models.py文件中創(chuàng)建class類譬嚣,注:這些類都是models.Model的子類,一個模型對應于一個數(shù)據(jù)庫表钞它,模型中的各個屬性分別對應于數(shù)據(jù)庫表中的一列拜银。【屬性的名稱對應于列的名稱遭垛,字段的類型對應于數(shù)據(jù)庫列的類型】

5)在INSTALLED_APPS中增加新增了poll應用 INSTALLED_APPS= ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'books', )

6)運行python manage.py check檢查模型代碼有無異常尼桶,返回System check identified no issues (0 silenced)代表成功

7)執(zhí)行python manage.py makemigrations polls

8)執(zhí)行python manage.py migrate就可以在mysql數(shù)據(jù)庫中看見新建的表了

注:當前整個步驟針對的是新建數(shù)據(jù)庫記錄,但實際日常使用中還存在已有數(shù)據(jù)庫的情況下锯仪,需要做好相關關聯(lián)的場景泵督,此時可調(diào)整哈一些步驟,具體實現(xiàn)見如下說明:

1)python manage.py inspectdb --database 已有數(shù)據(jù)庫名 > polls/models.py

2)python manage.py makemigrations polls

3)python manage.py migrate

數(shù)據(jù)庫增刪改查

關于對數(shù)據(jù)庫進行增刪改查操作可類比mysql語句庶喜,不過需要借助get()和filter()方法來達到目標

匯總關聯(lián)數(shù)據(jù)庫的一些問題及解決方案

1.執(zhí)行python manage.py makemigrations polls時出現(xiàn)錯誤提示說明:django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0002_logentry_remove_auto_add is applied before its dependency admin.0001_initial on database 'default'.

解決方案:

1)注釋掉setting文件中INSTALLED_APPS中的 #'django.contrib.admin'

2)注釋掉urls文件中urlpatterns中的 #url('admin/', admin.site.urls)

3)再去執(zhí)行python manage.py makemigrations polls就不會報錯了

4)建完數(shù)據(jù)庫之后恢復步驟1&2的注釋

2.新建一個應用小腊,執(zhí)行python manage.py migrate時,總是報錯:xxx表已存在

解決方案:

1)執(zhí)行python manage.py migrate polls --fake

2)再執(zhí)行python manage.py makemigrations polls和python manage.py migrate即可

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末溃卡,一起剝皮案震驚了整個濱河市溢豆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瘸羡,老刑警劉巖漩仙,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡队他,警方通過查閱死者的電腦和手機卷仑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來麸折,“玉大人锡凝,你說我怎么就攤上這事」柑洌” “怎么了窜锯?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長芭析。 經(jīng)常有香客問我锚扎,道長,這世上最難降的妖魔是什么馁启? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任驾孔,我火速辦了婚禮,結果婚禮上惯疙,老公的妹妹穿的比我還像新娘翠勉。我一直安慰自己,他們只是感情好霉颠,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布对碌。 她就那樣靜靜地躺著,像睡著了一般掉分。 火紅的嫁衣襯著肌膚如雪俭缓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天酥郭,我揣著相機與錄音华坦,去河邊找鬼。 笑死不从,一個胖子當著我的面吹牛惜姐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播椿息,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼歹袁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了寝优?” 一聲冷哼從身側(cè)響起条舔,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎乏矾,沒想到半個月后孟抗,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體迁杨,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年凄硼,在試婚紗的時候發(fā)現(xiàn)自己被綠了铅协。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡摊沉,死狀恐怖狐史,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情说墨,我是刑警寧澤骏全,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站婉刀,受9級特大地震影響吟温,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜突颊,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望潘悼。 院中可真熱鬧律秃,春花似錦、人聲如沸治唤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宾添。三九已至船惨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間缕陕,已是汗流浹背粱锐。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留扛邑,地道東北人怜浅。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像蔬崩,于是被迫代替她去往敵國和親恶座。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351