Django 笔记5 -- 数据库
生活随笔
收集整理的這篇文章主要介紹了
Django 笔记5 -- 数据库
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Django 筆記5 – 數(shù)據(jù)庫(kù)
Django 系列筆記是筆者學(xué)習(xí)、實(shí)踐使用 Django 的相關(guān)筆記,大量參考了知了課堂的《Django零基礎(chǔ)到項(xiàng)目實(shí)戰(zhàn)》教程。
參考文檔:
Django官方文檔(英文)
Django 中文文檔
一、配置數(shù)據(jù)庫(kù)連接
1、配置數(shù)據(jù)庫(kù)
配置 settings.py 文件中的 DATABASES:
DATABASES = {'default': {# 數(shù)據(jù)庫(kù)引擎,mysql、oracle等'ENGINE': 'django.db.backends.mysql',# 數(shù)據(jù)庫(kù)的名字'NAME': 'django_demo',# 連接mysql數(shù)據(jù)庫(kù)的用戶名'USER': 'root',# 連接mysql數(shù)據(jù)庫(kù)的密碼'PASSWORD': '123456',# mysql數(shù)據(jù)庫(kù)的主機(jī)地址'HOST': '127.0.0.1',# mysql數(shù)據(jù)庫(kù)的端口號(hào)'PORT': '3306',} }2、Django 操作數(shù)據(jù)庫(kù)
Django 操作數(shù)據(jù)庫(kù)方式:
- 使用原生 SQL 語(yǔ)句操作
- 使用 ORM 模型來(lái)操作
二、Django 使用原生 SQL 語(yǔ)句
1、SQL 語(yǔ)句操作數(shù)據(jù)庫(kù)
# 使用django封裝好的connection對(duì)象,會(huì)自動(dòng)讀取settings.py中數(shù)據(jù)庫(kù)的配置信息 from django.db import connection# 獲取游標(biāo)對(duì)象 cursor = connection.cursor() # 拿到游標(biāo)對(duì)象后執(zhí)行sql語(yǔ)句 cursor.execute("select * from book") # 獲取所有的數(shù)據(jù) rows = cursor.fetchall() # 遍歷查詢到的數(shù)據(jù) for row in rows:print(row)2、Python DB API
任何使用 Python 來(lái)操作 MySQL 的驅(qū)動(dòng)程序都遵循這個(gè)規(guī)范。所以不管是使用 pymysql 還是是 mysqlclient ,他們的接口都是一樣的。
更多操作可參考:MySQL 筆記9 – PyMySQL
三、Django 使用 ORM 模型
1、ORM 模型
- ORM,全稱Object Relational Mapping,中文叫做對(duì)象關(guān)系映射,通過(guò)ORM我們可以通過(guò)類的方式去操作數(shù)據(jù)庫(kù),而不用再寫(xiě)原生的SQL語(yǔ)句。通過(guò)把表映射成類,把行作實(shí)例,把字段作為屬性,ORM在執(zhí)行對(duì)象操作的時(shí)候最終還是會(huì)把對(duì)應(yīng)的操作轉(zhuǎn)換為數(shù)據(jù)庫(kù)原生語(yǔ)句
-
- ORM模型一般都是放在 app 的 models.py 文件中。每個(gè)app都可以擁有自己的模型。并且如果這個(gè)模型想要映射到數(shù)據(jù)庫(kù)中,那么這個(gè)app必須要放在settings.py的INSTALLED_APP中進(jìn)行安裝
2、創(chuàng)建 ORM 模型
- ORM 模型必須繼承自django.db.models.Model
- ORM 模型映射到數(shù)據(jù)庫(kù)中,表名默認(rèn)是模型名稱的小寫(xiě)形式
3、映射 ORM 模型到數(shù)據(jù)庫(kù)
- 在命令行終端,進(jìn)入到項(xiàng)目所在的路徑,然后執(zhí)行命令 python manage.py makemigrations 來(lái)生成遷移腳本文件
- 執(zhí)行命令 python manage.py migrate來(lái)將遷移腳本文件映射到數(shù)據(jù)庫(kù)中
- 如果出錯(cuò):https://blog.csdn.net/xiaoyaosheng19/article/details/82643729
GOOD LUCK!
總結(jié)
以上是生活随笔為你收集整理的Django 笔记5 -- 数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Django 笔记4 -- 模板
- 下一篇: c mysql web开发实例教程_We