zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    linux系统调用之系统控制
    linux系统调用之文件系统操作
    使用EF框架实现MVC的增删改查功能
    MVC+EF快速弄出一个CRUD
    Entity Framework 全面教程详解(转)
    微信小程序学习
    为Bootstrap模态对话框添加拖拽移动功能
    Razor语法大全
    EXCEL怎么打20位以上的数字?
    C# SQLite 数据库操作学习
  • 原文地址:https://www.cnblogs.com/tangda/p/12595745.html
Copyright © 2011-2022 走看看