日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python django框架分析_Django框架模型简单介绍与使用分析

發布時間:2024/9/18 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python django框架分析_Django框架模型简单介绍与使用分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文實例講述了Django框架模型簡單介紹與使用。分享給大家供大家參考,具體如下:

ORM介紹

ORM Object relational mapping 對象關系映射

把面向對象中的類和數據庫表一一對應起來,通過操作類和對象,對數據庫表實現數據的增刪改查等操作,而不需要寫SQL語句(由orm框架生成)

Django是實現了ORM的一個框架,在django項目與數據庫之間起著橋梁的角色。

使用ORM可以通過方便的配置,切換使用不同的數據庫

使用django進行數據庫開發的步驟如下:

在models.py中定義模型類

生成遷移文件: python manage.py makemigrations

執行遷移生成數據庫表(默認使用sqlite3數據庫,生成的數據庫名為:db.sqlite3): python manage.py migrate

通過模型類和對象,對數據進行增刪改查

模型類設計

案例:

部門類(Department):

部門名稱: name

部門成立時間: create_date

員工類(Employee)

性名: name

年齡: age

性別: sex

工資: salary

備注信息: comment

說明:

在應用models.py中編寫模型類, 必須繼承與models.Model類。

在模型類中,定義屬性,生成對應的數據庫表字段:

屬性名 = models.字段類型(字段選項)

字段類型(初步了解,models包下的類):

CharField--字符串

IntegerField--整形

BooleanField--布爾

DateFiled--日期

DecimalFiled--浮點

ForeignKey--外鍵,建立一對多關系

不需要定義主鍵id,會自動生成

模型類生成表

根據模型類,生成遷移文件

python manage.py makemigrations

執行遷移文件生成數據庫表

python manage.py migrate

生成表名的默認格式:

應用名_模型類名小寫

使用sqliteman查看生成的數據庫表

安裝sqliteman

sudo apt-get install sqliteman

啟動sqliteman

sqliteman

啟動后,通過file -> open 打開項目下的db.sqlite3數據庫進行查看

通過ORM操作數據庫

Django實現了orm功能,在django項目中,不需要寫sql語句,通過模型類和對象,就可以直接操作數據庫數據了。

可以通過以下命令,進入python交互環境,執行操作數據庫的代碼:

python manage.py shell

增刪改

調用一個模型類對象的save方法, 就可以實現數據新增或修改。id值在數據庫表中不存在或者為空,則新增,否則為修改。

模型類對象.save() # 新增或修改

調用一個模型類對象的delete方法,就可以實現數據刪除,會根據id刪除。

模型類對象.delete() # 根據對象的id進行刪除

示例:

from app01.models import Department, Employee

from datetime import date

d = Department()

d.name ='研發部'

d.create_date = date(2017,1,1)

d.save() # 新增

d.name ='人事部'

d.save() # 修改

d.id = 10

d.save() # 新增

d.name = '研發部'

d.id = None

d.save() # 新增

d.id = None

d.save() # 新增

d.delete() # 刪除

模型管理器

每個模型類默認都有 objects類屬性,可以把它叫 模型管理器。它由django自動生成,類型為 django.db.models.manager.Manager

>>> Employee.objects

objects模型管理器中提供了一些查詢數據的方法:

objects管理器中的方法

返回類型

作用

模型類.objects.get()

模型對象

返回一個對象,且只能有一個:如果查到多條數據,則報錯:MultipleObjectsReturned

如果查詢不到數據,則報錯:DoesNotExist

模型類.objects.filter()

QuerySet

返回滿足條件的對象

模型類.objects.all()

QuerySet

返回所有的對象

關聯查詢

部門和員工是一對多的關系,怎么根據部門查員工,或根據員工查詢部門呢?

用法:

假設在一對多關系中,一對應的類叫做一類,多對應的類叫做多類:

由一類對象查詢多類對象:

一類對象.多類名小寫_set.all()

由多類對象查詢一類對象:

多類對象.關聯屬性

示例:

# 查詢部門id為1的所有員工

d = Department.objects.get(id=1)

d.employee_set.all() # 一查多

# 查詢id為1的員工所屬的部門信息

e = Employee.objects.get(id=1)

e.department # 多查一

希望本文所述對大家基于Django框架的Python程序設計有所幫助。

本文標題: Django框架模型簡單介紹與使用分析

本文地址: http://www.cppcns.com/jiaoben/python/265851.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的python django框架分析_Django框架模型简单介绍与使用分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。