在django中按照时间范围查询数据库
来源:互联网 发布:php session mysql 编辑:程序博客网 时间:2024/06/09 22:58
看看新闻网>看引擎>开源产品
0人收藏此文章,
发表于4小时前(2013-10-11 17:52) ,
已有7次阅读 ,共0个评论
摘要:
从webUI中获得时间范围,在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 datetimedef 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 datetimedef 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!"
声明:OSCHINA 博客文章版权属于作者,受法律保护。未经作者同意不得转载。
除非注明,本站文章均为原创或编译,转载请注明: 文章来自KENGINE | Kankanews.com
0 0
- 在django中按照时间范围查询数据库
- 按照时间间隔查询数据库
- 在MSSQL中按照时间尺度查询气象要素
- django 按时间范围查询数据库
- 在Django里查询数据库时,如何按照desc倒序返回数据?
- oracle数据库按照时间查询数据
- django 数据库查询—如何获取指定范围的数据
- mongodb中根据时间范围进行查询
- Oracle中根据时间范围查询数据
- mysql按照时间查询
- mongodb按照时间查询
- mysql 按照时间查询
- MySQL 按照时间查询
- C#使用SQL数据库按照时间查询方法及注意事项
- 数据库排名sql,group by 分组查询按照时间最大值
- 数据库排名sql,group by 分组查询按照时间最大值
- Django 使用 MySQL 存储时间中遇到的问题(在数据库中记录插入时间、更新时间、删除时间)
- Access时间范围查询
- linux (none)login和init prefdm respawning too fast,stopped的解决办法(非重新装系统)
- Linux 2.6内核配置说明 (国嵌)
- 汽车百科系列之(四): 四驱究竟是什么意思
- WebRTC学习笔记_Demo收集
- 导入MySql文件
- 在django中按照时间范围查询数据库
- php--查找字符串出现位置
- 关于BOM和DOM
- Linux USB gadget解析(1)
- XMPP聊天之Openfire 的安装和配置---Mac OS
- mysql 运行 net start mysql 报“服务名无效”解决办法
- Ubuntu 14.04 安装 tpm emulator 及 tss 软件栈
- 前端代码规范及最佳实践
- Linux内核数据类型及跨平台