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中threading超线程用法实例分析
May 16 Python
Python实现将16进制字符串转化为ascii字符的方法分析
Jul 21 Python
python单例模式实例解析
Aug 28 Python
Python PO设计模式的具体使用
Aug 16 Python
python批量将excel内容进行翻译写入功能
Oct 10 Python
分享PyCharm的几个使用技巧
Nov 10 Python
Django密码存储策略分析
Jan 09 Python
Python生成随机验证码代码实例解析
Jun 09 Python
python退出循环的方法
Jun 18 Python
让你相见恨晚的十个Python骚操作
Nov 18 Python
详解python3类型注释annotations实用案例
Jan 20 Python
Python3 如何开启自带http服务
May 18 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 选项及相关信息函数库
2006/12/04 PHP
PHP判断文章里是否有图片的简单方法
2014/07/26 PHP
php画图实例
2014/11/05 PHP
详解PHP+AJAX无刷新分页实现方法
2015/11/03 PHP
laravel框架使用极光推送消息操作示例
2020/02/15 PHP
向大师们学习Javascript(视频与PPT)
2009/12/27 Javascript
动态载入/删除/更新外部 JavaScript/Css 文件的代码
2010/07/03 Javascript
浅析jQuery中常用的元素查找方法总结
2013/07/04 Javascript
js中Math之random,round,ceil,floor的用法总结
2013/12/26 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
2015/08/21 Javascript
JS判断字符串字节数并截取长度的方法
2016/03/05 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
AngularJS实现动态编译添加到dom中的方法
2016/11/04 Javascript
jsp 自动编译机制详细介绍
2016/12/01 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
Javascript中的async awai的用法
2017/05/17 Javascript
JQuery判断正整数整理小结
2017/08/21 jQuery
Bootstrap框架建立树形菜单(Tree)的实例代码
2017/10/30 Javascript
微信小程序中转义字符的处理方法
2019/03/28 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
2019/07/10 Javascript
vue实现Input输入框模糊查询方法
2021/01/29 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
2020/03/31 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
2020/10/17 Javascript
javascript this指向相关问题及改变方法
2020/11/19 Javascript
Python装饰器语法糖
2019/01/02 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
Python AutoCAD 系统设置的实现方法
2020/04/01 Python
Python单元测试及unittest框架用法实例解析
2020/07/09 Python
python 常用日期处理-- datetime 模块的使用
2020/09/02 Python
DNA基因检测和分析:23andMe
2019/05/01 全球购物
幼儿园托班开学寄语
2014/01/18 职场文书
后备干部培训方案
2014/05/22 职场文书
五四青年节活动总结
2015/02/10 职场文书
捐款仪式主持词
2015/07/04 职场文书
python绘制云雨图raincloud plot
2022/08/05 Python