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 相关文章推荐
python正则表达式抓取成语网站
Nov 20 Python
简析Python的闭包和装饰器
Feb 26 Python
Python使用ntplib库同步校准当地时间的方法
Jul 02 Python
对pandas中to_dict的用法详解
Jun 05 Python
python与C、C++混编的四种方式(小结)
Jul 15 Python
opencv设置采集视频分辨率方式
Dec 10 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
Mar 19 Python
python和go语言的区别是什么
Jul 20 Python
python3 使用ssh隧道连接mysql的操作
Dec 05 Python
Django2.1.7 查询数据返回json格式的实现
Dec 29 Python
python 指定源路径来解决import问题的操作
Mar 04 Python
Django+Nginx+uWSGI 定时任务的实现方法
Jan 22 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简单系统查询模块代码打包下载
2008/06/07 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
PHP中数组的三种排序方法分享
2012/05/07 PHP
php制作unicode解码工具(unicode编码转换器)代码分享
2013/12/24 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
利用JQuery的load函数动态加载其它页面的内容的实现代码
2010/12/14 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
2013/09/10 Javascript
javascript中创建对象的几种方法总结
2013/11/01 Javascript
JavaScript静态类型检查工具FLOW简介
2015/01/06 Javascript
JavaScript里四舍五入函数round用法实例
2015/04/06 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
JS中生成随机数的用法及相关函数
2016/01/09 Javascript
js的form表单提交url传参数(包含+等特殊字符)的两种解决方法
2016/05/25 Javascript
jQuery源码分析之sizzle选择器详解
2017/02/13 Javascript
微信小程序实现消息框弹出动画
2020/04/18 Javascript
JS中的算法与数据结构之常见排序(Sort)算法详解
2019/08/16 Javascript
layer.js open 隐藏滚动条的例子
2019/09/05 Javascript
layui原生表单验证的实例
2019/09/09 Javascript
Typescript的三种运行方式(小结)
2019/09/18 Javascript
[01:02:53]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第二局
2016/03/06 DOTA
用Python编写简单的微博爬虫
2016/03/04 Python
Python Nose框架编写测试用例方法
2017/10/26 Python
Python微信公众号开发平台
2018/01/25 Python
python 利用pandas将arff文件转csv文件的方法
2019/02/12 Python
python base64库给用户名或密码加密的流程
2020/01/02 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
20佳惊艳的HTML5应用程序示例分享
2011/05/03 HTML / CSS
泰国办公用品购物网站:OfficeMate
2018/02/04 全球购物
2014年教研活动总结范文
2014/04/26 职场文书
教师见习期自我鉴定
2014/04/28 职场文书
爱我中华演讲稿
2014/05/20 职场文书
中学音乐课教学反思
2016/02/18 职场文书
2016年度创先争优活动总结
2016/04/05 职场文书
导游词之山西-五老峰
2019/10/07 职场文书
JavaScript高级程序设计之基本引用类型
2021/11/17 Javascript