django orm 查詢一個月內每天的數據


查詢一個月內每天的查詢人數

from django.db.models import Count

data = ApplicationForm.objects.filter(create_time__year=year, create_time__month=month).extra( select= {'create_time': "TO_CHAR(create_time, 'YYYY-MM-DD')", "interview_date": "TO_CHAR(interview_date, 'YYYY-MM-DD HH:MM:SS')"}).values('create_time', 'application_status', 'interview_date').annotate( total_invite_len=Count('create_time')).values('create_time', 'application_status','name', 'interview_date')

# create_time__year, create_time__month, 表示between and 在這年這月范圍內的數據
# extra()在orm 里面提交sql語句 TO_CHAR()格式化時間
# 第一個values 是用來分組 按照每天的日期,和該天的申請狀態 ,面試日期分組
# annotatle 是為了配合聚合函數 Count()使用統計處每天申請的條數
# 第二個 values 是為了拿到分組后的數據

查詢前30天的需要查詢的人數

before_month = get_date(30)

invite = InvitationJobInterviewForm.objects.filter(create_time__gte=before_month).extra( select={'create_time': "TO_CHAR(create_time, 'YYYY-MM-DD')"}).values('create_time').annotate( total_invite_len=Count('create_time'), count_email_invite=Count('invite_people_code')).values( 'create_time', 'total_invite_len', 'count_email_invite')
def get_date(days):
date = (datetime.datetime.today() - datetime.timedelta(days=days)).strftime("%Y-%m-%d")
return date

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM