初識django之orm布置與增刪改查
阿新 • • 發佈:2018-10-16
對比 索引 取值 ati tab sqlite man 本機 pytho 1.數據庫驅動:給database--->data source下載對應數據庫的驅動。
2.數據庫工具包:py2.0支持MySQLdb(),但是py3中MySQLdb()已經不能完全適用,需要置換,畢竟orm底層上還是基於關於數據庫操作的py工具包,請先確保已經下載好了pymysql,在項目文件夾下的__init__.py下添加:
import pymysql
pymysql.install_as_MySQLdb()
3.數據庫連接設置:在settings.py裏配置數據庫連接信息:DATABASES = {
‘default‘: {
#‘ENGINE‘: ‘django.db.backends.sqlite3‘,
#‘NAME‘: os.path.join(BASE_DIR, ‘db.sqlite3‘),這兩行隱去了django的默認配置
‘ENGINE‘: ‘django.db.backends.mysql‘,
‘NAME‘:‘django_orm‘,
‘USER‘:‘root‘,
‘PASSWORD‘:‘song6748106‘,
‘HOST‘:‘‘,#不填默認本機
‘PORT‘:‘3306‘,
}
}
此處需要註意,NAME,PASSWORD等需要大寫,否則連接不上,挺坑的。
以上配置基本完成,接下來開始動數據庫了。
1.在models.py定義類,映射表結構,此處需要 from django.db import models 引入models包。(terminal輸入python manage.py make migirations,即作用於這一環節makemigrations指令是用models裏面的model和當前的migrations代碼裏面的model做對比,如果有新的修改,會新建py文件記錄。
2.路由配置,打開urls.py新建路由。
3.視圖配置,引入model,from app.models import * 並在視圖函數下增刪改查。
通過orm對數據庫記錄添加(默認表Author):
方式一:A1=Author(id=,name="",sex="",) #實例了models中的類(映射數據庫中的一張表),field要一一對應,必須save,save是全field進行update,效率低。
A1.save()
方式二:Author.objects.create(id=2,name="曹雪芹",sex="女",)
通過orm對數據庫記錄刪除:
Author.objects.filter(name="曹雪芹").delete()
通過orm對數據庫記錄修改:
方式一:Author.objects.filter(name="").update(sex=" ")
方式二:A=Author.objects.get(name="吳承恩") #get取到的一定是一條記錄,filter取到的是一個queryset集合(不適用0索引取值),多個修改請使用方式一。
A.sex="女"
A.save()
初識django之orm布置與增刪改查