django框架F Q 聚合與分組操作示例

2022-09-26 20:57:14 字數 1808 閱讀 2493

f 使用查詢條件的值,專門取物件中某列值的操作,可以對同乙個表中的兩個列進行比較

from django.db.models import f

ret=models.book.objects.filter(count__lt=f('sale')).values() #查詢 列 count < sale的資料

f程式設計客棧or i in ret:

print(i)

models.book.objects.filter(sale__gt=f('stock')) #將乙個表中的sale和stock進行比較

models.book.objects.update(sale=f('sale')*2) #將列sale的資料*2,資料自動提交到資料庫 print(models.book.objects.all().values())

q 構建搜尋條件

from django.db.models import q

#找出滿足兩個條件的值

ret=models.book.objects.filter(id__gte=3,title='學泡妞').values()

print(ret)

#使用q 中的 | 是或的關係

ret=models.book.object程式設計客棧s.filter(q(id__lt=2)| q(id__gte=3)).values()

print(ret)

#使用 & 與的關係

ret=models.book.objects.filter(q(title='學泡妞') & q(id__gte=3)).values()

print(ret)

# ~q 是非的關係

ret=models.book.objects.filter(~q(q(title='學泡妞') & q(id__gte=3))).values()

print(ret)

聚合查詢---關鍵字aggregate

#統計所有書的平均**:聚合

from django.db.models import rtupjj**g,count,max,min

ret=book.objects.all().aggregate(c=**g("price"))

print(ret) #

分組查詢----關鍵字annotate

#查詢每個出版社出版的書籍個數

ret=publish.objects.all().annotate(c=count("book")).values("name","c")

print(ret) #www.cppcns.com'c': 2}]>

#查詢每乙個作者出版的書籍的平均**

ret=author.objects.all().annotate(price_**g=**g("book__price")).values("name","price_**g")

print(ret)#

#查詢每一本書籍名稱以及作者個數

ret=book.objects.all().annotate(c=count("author")).values("title","c")

print(ret) #j**a', 'c': 2}]>

#查詢**大於100的每一本書籍名稱以及作者個數

ret = book.objects.fwww.cppcns.comilter(price__gt=100).annotate(c=count("author")).values("title", "c")

print(ret)

區別:查詢所有書的平均**用聚合,查詢每本書的平均**用分組

本文標題: django框架f&q 聚合與分組操作示例

本文位址:

Django 許可權與分組

在使用authenticate進行驗證後,如果驗證通過了。那麼會返回乙個user物件,拿到user物件後,可以使用django.contrib.auth.login進行登入。示例 如下 user authenticate username username,password password if ...

pandas 高階處理 分組與聚合

分組與聚合通常是分析資料的一種方式,通常與一些統計函式一起使用,檢視資料的分組情況 想一想其實剛才的交叉表與透視表也有分組的功能,所以算是分組的一種形式,只不過他們主要是計算次數或者計算比例!看其中的效果 案例 不同顏色的不同筆的 資料 col pd.dataframe color object p...

python中資料聚合與分組運算

在資料分析處理中,對資料進行分組並對各組應用乙個函式 無論是聚合還是轉換 計算分組統計或生成透視表,是資料分析工作中的重要環節。python提供了乙個靈活高效的groupby功能,它可以使你能以一種自然的方式對資料集進行切片 切塊 摘要等操作。在python中主要有兩個模組 itertools和pa...