客戶需要根據用戶一星期內所獲積分總量,每當積分總量增加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'] #本週當前用戶得到的積分