f 物件:可以使用模型的 a 屬性和 b 屬性進行比較
寫法:需要的資料物件 = 資料表(類名).objects.filter(列名__條件=f('
列名2'
))需求: 檢視男生數量比女生少 的公司名稱
companies = company.objects.filter(c_boy_num__lt=f('
c_girl_num'))
f 物件支援算術運算
需求: 檢視男生數量比女生少 15個的公司名稱
companies = company.objects.filter(c_boy_num__lt=f('
c_girl_num
')-15)
在 models.py 中建立資料表 companyclass
company(models.model):
c_name = models.charfield(max_length=16)
#公司名字
c_girl_num = models.integerfield(max_length=16)
#女生人數
c_boy_num = models.integerfield(max_length=16)
#男生人數
產生遷移檔案python manage.py makemigrations
進行遷移
python manage.py migrate
新增資料
在 urls.py 中進行註冊需求:檢視 女生多於男生的公司名稱
url(r
'getgirlgtboy
',views.getgirlgtboy)
views.py 中建立 getgirlgtboy 函式defgetgirlgtboy(request):
companies = company.objects.filter(c_girl_num__gt=f('
c_boy_num'))
for company in
companies:
#進行遍歷後檢視公司名
獲取成功")
注:f 導包 匯入的是
f 物件使用 算數表示式defgetgirlgtboy(request):
companies = company.objects.filter(c_girl_num__lt=f('
c_boy_num
')-30)
#檢視男生比女生多於 30 的
for company in
companies:
#進行遍歷後檢視公司名
獲取成功
q 物件q 物件可以對條件進行封裝封裝後支援邏輯運算與 &或 |過濾器的方法中的引數
常用於 組合條件
表名(models中建立的類) .objects.filter(q(表中列名__條件=值))
示例:student.objects.filter(q(sage_lt=25))
q物件支援 | & ~年齡大於等於 25的
分析: 不小於 25
示例:student.objects.filter(~q(sage_lt=25))非 ~
在 urls.py 中進行註冊url(r
'getgirlandboy
',views.getgirlandboy)
在 models.py 中新增 對應的函式 getgirlandboydefgetgirlandboy(request):
companies = company.objects.filter(q(c_boy_num__gt=90) & q(c_girl_num__gt=80))
#男生大於 90 且 女生大於 80 的公司名稱
for company in
companies:
#進行遍歷後檢視公司名
獲取成功")
注:且 : q(條件) &q(條件)
取反 : ~q 表示取反
或 : q(條件) | q(條件)
執行結果Django學習記錄(2)Django中的路由管理
django的路由管理,由應用檔案下的urls.py檔案進行管理 所有的路由都放置在urlpatterns中 每乙個路由在定義的時候,需要通過路由函式來定義 路由函式,常見的有path,url path router,view,kwargs,name 普通路由的定義 url router,view,...
Django學習系列18 使用遷移建立生產資料庫
django生成乙個很有幫助的錯誤資訊,大意是說沒有正確設定資料庫。你可能會有疑惑,為什麼在單元測試一切都執行ok,這是因為django為單元測試建立了專用的測試資料庫 這是django中testcase所做的神奇事情之一。為了設定好真正的資料庫,要建立乙個資料庫,sqlite資料庫只是硬碟中的乙個...
對stm32f10c gpio c的學習
1 gpio 暫存器 每組io口含下面7個暫存器。也就是7個暫存器,一共可以控制一組gpio的16個io口。gpiox crl 埠配置低暫存器 gpiox crh 埠配置高暫存器 gpiox idr 埠輸入暫存器 gpiox odr 埠輸出暫存器 gpiox bsrr 埠位設定 清除暫存器 gpio...