Django模型系統(一)
裝飾器補充
django模型系統
一,數據庫的鏈接配置
二,Django的ORM簡介
三,模型的創建與激活
四,數據的增刪改查
一,數據庫的鏈接配置
django 鏈接mysql的配置流程:
-安裝pymysql —— pip install pymysql
-創建數據庫用戶
-有創建數據庫權限的用戶
-創建數據庫
create database mysite; (創建需要的數據庫)
-修改配置
-修改項目文件(和settings.py文件所在的目錄)下
__init__.py文件
-設置時區 TIME ZONE = ‘Asia/ShangHai’ #北京時間
二,Django的ORM簡介
三,模型的創建與激活
創建模型:
-創建Student的模型,代表學生
verbose_name 人類可讀的時間
總結:
1,每一個模型都是django.db.models.Model的子類
2,類變量 表示模型中的數據庫字段
3,每一個字段由一個字段類的實例表示
激活模型:
1,在項目中註冊app
2,運行數據庫遷移命令(項目根目錄下)
python mange.py makemigrations teacher(應用名:teacher,不加全部遷移)
告訴django,我們做了哪些數據庫的更改
遷移
sqlmigrete 從遷移獲取sql語句
--
-- Create model Student
--
CREATE TABLE `teacher_student` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`name` varchar(20) NOT NULL,
`age` smallint NOT NULL,
`sex` smallint NOT NULL,
`qq` varchar(20) NOT NULL,
`phone` varchar(20) NOT NULL,
`c_time` datetime(6) NOT NULL);
COMMIT;
3, 運行migrate命令,使遷移生效
python manage.py migrate
# 表名 appname 模型name.lower (表名是app下劃線加上模型的小寫)
四,數據的增刪改查
-工具 django shell 調試工具
命令:pythone manage.py shell
創建:pip install ipython (補全功能)
增加數據方法:
1,Student.objects.create(name=‘魏國‘, age=13)
2,s1 = Student(name=‘孟傑’, age=25, qq=‘123456‘)
3,
s2 = Student()
s2.name = ‘心藍‘
s2.age = 18
s2.save()
4, s=Student.objects.get_or_create(name=‘心藍‘)
In [11]: s
Out[11]: (<Student: 心藍-18>, False) ***查就是False;創建成功就是True
In [12]: s[0]
Out[12]: <Student: 心藍-18>
In [13]: s[0].id
Out[13]: 1
查詢數據
Student.objects.all() #查詢所有
res = Student.objects.all()
res
print(res[1:2].query) #切片
Student.objects.get(name=‘心藍‘) #查詢
Student.objects.get(pk=1) #pk替代主鍵
res = Student.objects.filter(sex=1) #查詢
修改數據
s.age = 16 #通過對象數據進行賦值,進行修改
s.save() #保存
Student.objects.filter(name=‘心藍‘).update(age=18) #修改多條數據
Student.objects.filter(sex=1).delete() #刪除多條數據
Django模型系統(一)