django 按时间范围查询数据库实例代码


Posted in Python onFebruary 11, 2018

从前台中获得时间范围,在django后台处理request中数据,完成format,按照范围调用函数查询数据库。

介绍一个简单的功能,就是从web表单里获取用户指定的时间范围,然后在数据库中查询此时间范围内的数据。

数据库里的model举例是这样:

class book(models.Model):  
  name = models.CharField(max_length=50, unique=True) 
  date = models.DateTimeField() 
    
  def __unicode__(self): return self.name

假设我们从表单获得的request.GET里面的时间范围最初是这样的:

request.GET = {'year_from': 2010, 'month_from': 1, 'day_from': 1, 
        'year_to':2013, 'month_to': 10, 'day_to': 1}

由于model里保存的date类型是models.DateTimefield() ,我们需要先把request里面的数据处理成datetime类型(这是django里响应代码的前半部分):

import datetime 
 
def filter(request): 
  if 'year_from' and 'month_from' and 'day_from' and\ 
      'year_to' and 'month_to' and 'day_to' in request.GET: 
    y = request.GET['year_from'] 
    m = request.GET['month_from'] 
    d = request.GET['day_from'] 
    date_from = datetime.datetime(int(y), int(m), int(d), 0, 0) 
    y = request.GET['year_to'] 
    m = request.GET['month_to'] 
    d = request.GET['day_to'] 
    date_to = datetime.datetime(int(y), int(m), int(d), 0, 0) 
  else: 
    print "error time range!"

接下来就可以用获得的 date_from date_to作为端点筛选数据库了,需要用到__range函数,将上面代码加上数据库查询动作:

import datetime 
 
def filter(request): 
  if 'year_from' and 'month_from' and 'day_from' and\ 
      'year_to' and 'month_to' and 'day_to' in request.GET: 
    y = request.GET['year_from'] 
    m = request.GET['month_from'] 
    d = request.GET['day_from'] 
    date_from = datetime.datetime(int(y), int(m), int(d), 0, 0) 
    y = request.GET['year_to'] 
    m = request.GET['month_to'] 
    d = request.GET['day_to'] 
    date_to = datetime.datetime(int(y), int(m), int(d), 0, 0) 
    book_list = book.objects.filter(date__range=(date_from, date_to)) 
    print book_list 
  else: 
    print "error time range!"

总结

以上就是本文关于django 按时间范围查询数据库实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Linux下编译安装MySQL-Python教程
Feb 02 Python
python实现同时给多个变量赋值的方法
Apr 30 Python
浅谈Python单向链表的实现
Dec 24 Python
你应该知道的python列表去重方法
Jan 17 Python
Request的中断和ErrorHandler实例解析
Feb 12 Python
python 日志增量抓取实现方法
Apr 28 Python
使用python判断jpeg图片的完整性实例
Jun 10 Python
django使用admin站点上传图片的实例
Jul 28 Python
python修改linux中文件(文件夹)的权限属性操作
Mar 05 Python
如何在Django中使用聚合的实现示例
Mar 23 Python
利用python实现平稳时间序列的建模方式
Jun 03 Python
OpenCV-Python使用cv2实现傅里叶变换
Jun 09 Python
python实现媒体播放器功能
Feb 11 #Python
python使用pycharm环境调用opencv库
Feb 11 #Python
Python元组及文件核心对象类型详解
Feb 11 #Python
详解Python核心对象类型字符串
Feb 11 #Python
python使用json序列化datetime类型实例解析
Feb 11 #Python
Python中pow()和math.pow()函数用法示例
Feb 11 #Python
Python反射的用法实例分析
Feb 11 #Python
You might like
PHP 压缩文件夹的类代码
2009/11/05 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
2014/05/08 PHP
判断JS对象是否拥有某种属性的两种方式
2013/12/02 Javascript
JavaScript中的原始值和复杂值
2016/01/07 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
2017/01/06 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
JS仿JQuery选择器功能
2017/03/08 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
2017/06/17 Javascript
Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法
2017/07/09 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
解决vue无法设置滚动位置的问题
2018/10/07 Javascript
angular4笔记系列之内置指令小结
2018/11/09 Javascript
微信小程序下拉菜单效果的实例代码
2019/05/14 Javascript
详解ECMAScript2019/ES10新属性
2019/12/06 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
2020/04/03 Javascript
[01:12:27]EG vs Secret 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python对象体系深入分析
2014/10/28 Python
python计算一个序列的平均值的方法
2015/07/11 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
2015/10/18 Python
Python执行时间的计算方法小结
2017/03/17 Python
python中copy()与deepcopy()的区别小结
2018/08/03 Python
Python爬虫之pandas基本安装与使用方法示例
2018/08/08 Python
python读取word文档,插入mysql数据库的示例代码
2018/11/07 Python
Django框架模板注入操作示例【变量传递到模板】
2018/12/19 Python
css3实例教程 一款纯css3实现的发光屏幕旋转特效
2014/12/07 HTML / CSS
介绍一下结构化程序设计方法和面向对象程序设计方法的区别
2012/06/27 面试题
自考自我鉴定范文
2013/10/30 职场文书
投标担保书范文
2014/04/02 职场文书
带香烟到学校抽的检讨书
2014/09/25 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
大四学生个人总结
2015/02/15 职场文书
2015个人年度工作总结范文
2015/05/28 职场文书
行为习惯主题班会
2015/08/14 职场文书
MySQL 如何限制一张表的记录数
2021/09/14 MySQL