XXX,DJANGO ORM里确实有很深的水,需要慢慢理解。。

比如:

获取指定时间段的数据:

app.deployversion_set.filter(add_date__range=(date_start, date_end))按月获取记录数:
app_month = DeployVersion.objects.extra(select={'month': connections[DeployVersion.objects.db].ops.date_trunc_sql('month', 'add_date')}).values('month').annotate(dcount=Count('add_date'))

class DeployVersionSAAppView(TemplateView):
    template_name = 'version/sa_deployversion_app.html'

    def get_context_data(self, **kwargs):
        context = super(DeployVersionSAAppView, self).get_context_data(**kwargs)
        app_dict = {}
        app_month_dict = {}
        appcount = App.objects.annotate(num_app=Count('deployversion'))
        for app in appcount:
            if self.request.GET.has_key('date_start') and self.request.GET.has_key('date_end') :
                date_start = self.request.GET['date_start']
                date_end = self.request.GET['date_end']
                context['days'] = date_start+'至'+date_end
                app_qryset = app.deployversion_set.filter(add_date__range=(date_start, date_end))
            else:
                context['days'] = '所有时间'
                app_qryset = app.deployversion_set.all()
            if app_qryset.count():
                    app_key = str(app.name)
                    app_dict[app_key] = app_qryset.count()
        app_month = DeployVersion.objects.extra(select={'month': connections[DeployVersion.objects.db].ops.date_trunc_sql('month', 'add_date')}).values('month').annotate(dcount=Count('add_date'))
        for app_count in app_month:
            app_count_item = str(app_count['month'])[:7]
            if app_month_dict.has_key(app_count_item):
                app_month_dict[app_count_item] += 1
            else:
                app_month_dict[app_count_item] = 1
        app_month_list = sorted(app_month_dict.items(), key=lambda d: d[0], reverse=False)
        month_categories = []
        month_data = []
        for item_temp in app_month_list:
            month_categories.append(item_temp[0])
            month_data.append(item_temp[1])
        categories = app_dict.keys()
        data = app_dict.values()
        context['now'] = timezone.now()
        context['current_page'] = "deployversion-list-sa-app"
        context['form'] = SAAppForm
        context['categories'] = categories
        context['data'] = data
        context['month_categories'] = month_categories
        context['month_data'] = month_data

        return context

哈哈,本周个人超计划搞定。

DJANGO输出HIGHCHARTS数据的样例的更多相关文章

  1. <数据可视化>样例+数据+画图

    1 样例 1.1样例1 子图系列 from pylab import * def f(x): return np.exp(-x) * np.cos(2*np.pi*x) x1 = np.arange( ...

  2. 【转】django的ORM操作数据库样例

    这个算是我看到的大全了,希望可以解决明天我希望解决的两个问题... class Blog(models.Model): name = models.CharField(max_length=100) ...

  3. ADNI数据和样例

    ADNI临床数据集: 由各个学科的临床信息组成,包括招募.人口统计特征.体格检查和认知评估数据 所收集的临床数据: 基因数据: ILLUMINA SNP基因分型检测 ADNI的一个关键目标就是为研究人 ...

  4. python爬虫爬取get请求的页面数据代码样例

    废话不多说,上代码 #!/usr/bin/env python # -*- coding:utf-8 -*- # 导包 import urllib.request import urllib.pars ...

  5. 最简单的视音频播放演示样例5:OpenGL播放RGB/YUV

    ===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...

  6. 网易2018.03.27算法岗,三道编程题100%样例AC题解

    博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/8660814.html特别不喜欢那些随便转载别人的原创文章又不给 ...

  7. [转] Lodop、C-Lodop使用说明及样例

    本文转自:http://www.lodop.net/LodopDemo.html Lodop(标音:劳道谱,俗称:露肚皮)是专业WEB控件,用它既可裁剪输出页面内容,又可用程序代码直接实现 复杂打印. ...

  8. WEB打印控件Lodop(V6.x)使用说明及样例

    WEB打印控件Lodop(V6.x)使用说明及样例 Lodop是专业WEB控件,用它既可裁剪输出页面内容,又可用程序代码生成复杂打印页. 控件功能强大,却简单易用,所有调用如同JavaScript扩展 ...

  9. 最简单的基于FFmpeg的AVDevice样例(读取摄像头)

    =====================================================最简单的基于FFmpeg的AVDevice样例文章列表: 最简单的基于FFmpeg的AVDev ...

随机推荐

  1. 刷机nexus4

    官方rom下载地址:https://developers.google.com/android/nexus/images?hl=zh-CN 刷机教程:http://jingyan.baidu.com/ ...

  2. compress 表设置及索引设置

    -- 查看表大小 from user_segments where segment_name='TableName'; -- 查看表大小 size_m -- 2000.6796875 2211.695 ...

  3. Swift静态属性

    在介绍静态属性之前,我们先来看一个类的设计,有一个Account(银行账户)类,假设它有3个属性:amount(账户金额).interestRate(利率)和owner(账户名).在这3个属性中,am ...

  4. iOS开发——返回特定的控制器

    用导航控制器返回到上一页和返回到根控制器有其自带方法. 返回到特定的控制器的核心代码: popToViewController用法 方式一,不推荐[self.navigationController ...

  5. linux ubuntu vsftp 默认主目录

    vi /etc/passwd 查看/ftp:  后面的目录就是默认目录 这是匿名用户的目录 --------------------------- 使用linux 别的用户,默认在/home/用户名 ...

  6. spring事务到底用于service层还是dao层

    Spring事务为业务逻辑进行事务管理,保证业务逻辑上数据的原子性. 事务得根据项目性质来细分:事务可以设置到三个层面(dao层.service层和web层). 第一:web层事务,这一般是针对那些安 ...

  7. linux开机启动增加tomcat启动项

    需求:开发环境(linux)重启后,每次需手动启动相关应用较为繁琐,如设置为开机自动启动则可减少此工作量. google下,参考了以下博文较好解决了问题: 1. 简单说明 Centos下设置程序开机自 ...

  8. 为云饰数据库添加Index

    Asset Collection: 1. _id_ 2. CategoryId_1_Date_-1 3. CategoryId_1_Id_1 4. CategoryId_1_Name_1 5. Cat ...

  9. [牛感悟系列]JAVA(1)理解JAVA垃圾回收

    理解JAVA垃圾回收的好处是什么?满足求知欲是一方面,编写更好的JAVA应用是另外一方面. 如果一个人对垃圾回收过程感兴趣,那表明他在应用程序开发领域有相当程度的经验.如果一个人在思考如何选择正确的垃 ...

  10. QQ空间g_tk加密算法PHP版

    QQ空间g_tk加密算法PHP版 //G_tk计算 function getGTK($skey){ $hash = 5381; for($i=0;$i<strlen($skey);++$i){ ...