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调用新浪微博API项目实践
Jul 28 Python
Python实现根据IP地址和子网掩码算出网段的方法
Jul 30 Python
pygame实现俄罗斯方块游戏
Jun 26 Python
python斐波那契数列的计算方法
Sep 27 Python
python与字符编码问题
May 24 Python
Python处理session的方法整理
Aug 29 Python
python获取Linux发行版名称
Aug 30 Python
通过python扫描二维码/条形码并打印数据
Nov 14 Python
Python字符串格式化输出代码实例
Nov 22 Python
基于python实现操作redis及消息队列
Aug 27 Python
PyCharm最新激活码PyCharm2020.2.3有效
Nov 18 Python
快速一键生成Python爬虫请求头
Mar 04 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
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
2016/07/20 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
JQuery入门—JQuery程序的代码风格详细介绍
2013/01/03 Javascript
javascript 实现动态侧边栏实例详解
2016/11/11 Javascript
Angular4学习笔记之准备和环境搭建项目
2017/08/01 Javascript
JavaScript实现换肤功能
2017/09/15 Javascript
JavaScript中var、let、const区别浅析
2018/06/24 Javascript
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
webstorm中配置Eslint的两种方式及差异比较详解
2018/10/19 Javascript
深入浅析javascript函数中with
2018/10/28 Javascript
koa源码中promise的解读
2018/11/13 Javascript
微信小程序实现商城倒计时
2020/11/01 Javascript
解决layui的table插件无法多层级获取json数据的问题
2019/09/19 Javascript
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
使用python装饰器计算函数运行时间的实例
2018/04/21 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
python中单下划线_的常见用法总结
2018/07/10 Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
2019/04/15 Python
pycharm new project变成灰色的解决方法
2019/06/27 Python
Python实现i人事自动打卡的示例代码
2020/01/09 Python
tensorflow 大于某个值为1,小于为0的实例
2020/06/30 Python
Pandas中DataFrame基本函数整理(小结)
2020/07/20 Python
Melissa香港官网:MDreams
2016/07/01 全球购物
美国紧身牛仔裤品牌:NYDJ
2017/05/24 全球购物
美国玩具公司:U.S.Toy
2018/05/19 全球购物
牵手50新加坡:专为黄金岁月的单身人士而设的交友网站
2020/08/16 全球购物
Internet体系结构
2014/12/21 面试题
财务部岗位职责
2013/11/19 职场文书
中学生团员自我评价分享
2013/12/07 职场文书
素质拓展感言
2014/01/29 职场文书
任命书范本大全
2014/06/06 职场文书
亚运会口号
2014/06/20 职场文书
部门活动策划方案
2014/08/16 职场文书
事业单位工作人员岗前培训心得体会
2016/01/08 职场文书
导游词之江西赣州
2019/10/15 职场文书