Django orm 獲取當前一週內的數據

客戶需要根據用戶一星期內所獲積分總量,每當積分總量增加50時進行一次消息推送

解決思路:獲取當前週一的日期 ,然後通過orm gte(大於等於)的方法,查詢積分獲取時間大於等於週一日期的進行聚合查詢(aggregate)得到積分總量

一、先獲取當前週一的日期

def get_current_week():
    """得到這週週一的日期"""""
    monday= datetime.date.today()
    one_day = datetime.timedelta(days=1)
    while monday.weekday() != 0:
        monday -= one_day
    return monday

二、獲取當前周所獲得的積分

   

monday=get_current_week()
integ_num=IntegralSource.objects.filter(user=user,create_time__gte=monday).aggregate(nums=Sum('obtain'))['nums'] #本週當前用戶得到的積分

 

發佈了40 篇原創文章 · 獲贊 5 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章