django ORM 數據庫連接配置
前言
django 中連接數據,可以使用pymysql 也可以使用django 自帶的框架ORM
pymysql 操作數據庫
用pymysql連接MySQL數據庫查詢數據
1. import pymysql
2. 建立連接
3. 獲取光標
4. 執行SQL語句
5. 獲取數據
6. 關閉光標
7. 關閉連接
ORM是個啥
對象關系映射
類 數據表
屬性 字段
對象 數據行
兩者的比較
使用pymysql連接數據庫缺點:
1. 麻煩
2. 自己寫SQL語句!!!
使用ORM工具連接數據庫
1. 不用自己寫SQL語句!!!
- 缺點:
1. 執行效率不高(需要翻譯成語句再去執行)
Django中如何使用ORM
1. 告訴Django連接哪個MySQL數據庫(settings.py)
settings.py 中數據庫連接配置 #默認的配置,默認使用的是django 自帶的數據庫sqlite3 # DATABASES = { # ‘default‘: { # ‘ENGINE‘: ‘django.db.backends.sqlite3‘, # ‘NAME‘: os.path.join(BASE_DIR, ‘db.sqlite3‘),View Code# } # } DATABASES = { ‘default‘: { ‘ENGINE‘: ‘django.db.backends.mysql‘, #引擎 ‘NAME‘: ‘cmdb‘, #數據庫名稱 ‘HOST‘:‘127.0.0.1‘, #主機地址 ‘PORT‘:3306, #端口 ‘USER‘:‘root‘, #用戶名 ‘PASSWORD‘:‘111111‘, #密碼 } }
2. 告訴Django用pymysql連接MySQL數據庫 (默認用的是MySQLDB)
在項目的__init__.py 中加入如下配置
import pymysql pymysql.install_as_MySQLdb()View Code
3. 去app/models.py裏面創建類
from django.db import models class IDC(models.Model): """ 機房信息 """ name = models.CharField(‘機房‘, max_length=32) floor = models.IntegerField(‘樓層‘, default=1) class Meta: verbose_name_plural = "機房表" def __str__(self): return self.nameView Code
4. 讓Django去數據庫幫我創建類對應的數據表
1. python manage.py makemigrations --> 將models.py的改動記錄在小本本上
2. python manage.py migrate --> 將變更記錄翻譯成SQL語句,去數據庫執行
5、在django 中查看數據庫表數據
添加數據源(mysql 作為數據源)
配置數據庫連接信息
註意:第一次配置需要下載驅動,在此頁面的下面有提示,下載可以。
添加sqlite3 作為數據源
註意:sqlite3 為文件數據庫,數據庫實體本身就在django項目目錄內,直接右鍵作為數據源打開即可。
django ORM 數據庫連接配置