使用django的ORM框架按月統計近一年內的資料

2021-09-24 19:51:10 字數 722 閱讀 6442

# 計算時間

time = datetime.datetime.now(

)- relativedelta(years=1)

# 獲取近一年資料

one_year_data = data.objects.

filter

(create_time__gte=time_ago)

# 分組統計每個月的資料

count_res = one_year_data\

.annotate(year=extractyear(

'create_time'

),month=extractmonth(

'create_time'))\

.values(

'year'

,'month'

).order_by(

'year'

,'month'

).annotate(count=count(

'id'))

print

(count_res)

列印結果:

]>
annotate()方法:

對資料集先進行分組然後再進行某些聚合操作或排序時,需要使用annotate方法來實現。與aggregate方法不同的是,annotate方法返回結果的不僅僅是含有統計結果的乙個字典,而是包含有新增統計欄位的查詢集(queryset)。

Django 中ORM 的使用

1 手動新建乙個資料庫 2 告訴django連線哪個資料庫 settings.py裡配置資料庫連線資訊 資料庫相關的配置項 databases 3 告訴django用pymsql 模組代替預設的mysqldb 去連線mysql 在和settings.py 同目錄下的 init py檔案中做配置 im...

python之Django框架的ORM簡介

databases 2.在與django 專案同名的目錄下的 init py 檔案中寫下如下 告訴django 使用pymysql模組連線mysql資料庫 import pymysql pymysql.install as mysqldb 3.資料庫遷移的時候出現乙個警告 warnings mysq...

使用Django的ORM詳細步驟

使用django的orm詳細步驟 1.自己動手建立資料庫 在cmd中輸入 create database 資料庫名 2.在django專案中設定連線資料庫的相關配置 告訴django連線哪乙個資料庫 資料庫相關的配置 3.告訴django用pymysql代替預設的mysqldb 連線mysql資料庫...