在django中按照时间范围查询数据库
2019独角兽企业重金招聘Python工程师标准>>>
介绍一个简单的功能,就是从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_listelse:print "error time range!"
转载于:https://my.oschina.net/vincent67/blog/168082
在django中按照时间范围查询数据库相关推荐
- Django中models模型(操作数据库)
ORM 自己创建数据库 连接数据库 Django操作表 数据库操作 新建 删除 获取数据 实例:用户管理 Django开发操作数据库更简单,内部提供了ORM框架 ORM的流程 ORM ORM,全称 O ...
- Django中如何使用Mysql数据库
在Django中使用Mysql数据库 方法一: 首先在项目settings.py的文件同目录下的 init.py 文件里输入 import pymysql pymysql.install_as_MyS ...
- vba mysql查询数组中_VBA中典型的查询数据库及相关命令代码 | 雷雨博客
请参考:https://docs.microsoft.com/zh-cn/office/vba/api/overview/access 1.下述代码可以查询读者表里总记录条数 Dim cnn As O ...
- Django中pipeline操作Redis数据库
1.Redis的 C - S 架构: 基于客户端-服务端模型以及请求/响应协议的TCP服务. 客户端向服务端发送一个查询请求,并监听Socket返回. 通常是以阻塞模式,等待服务端响应. 服务端处理命 ...
- django中的关联查询
通过模型类实现关联查询 例:查询图书信息,要求图书关联的英雄的描述包含'盲'. >>> BookInfo.objects.filter(heroinfo__hname__contai ...
- Django中多对多查询方式
使用版本python3.5+django1.11.4 创建django-admin startproject DjangoORM 创建App ./manage.py startapp ORM from ...
- django中,kindeditor存到数据库的html,前台html标签被自动转义的解决办法
2019独角兽企业重金招聘Python工程师标准>>> 1,使用kindeditor进行了上传图片功能,存储到后台的html代码为: <img src="/stati ...
- django中的Q查询
转载于:https://mozillazg.com/2015/11/django-the-power-of-q-objects-and-how-to-use-q-object.html 原文写的很详细 ...
- web.py中实现类似Django中的ORM的查询效果
Django中的对象查询 Django框架自带了ORM,实现了一些比较强大而且方便的查询功能,这些功能和表无关.比如下面这个例子: class Question(models.Model):quest ...
最新文章
- 【leetcode】944. Delete Columns to Make Sorted
- 再见 Win10!下一代操作系统来了。。
- MySQL迁移过程中遇到的问题
- PDF转换器安装教程
- 基于时空相关属性模型的公交到站时间预测算法
- python二进制反码例题_python中的进制转换和原码,反码,补码
- Visual Studio控制台程序输出窗口一闪而过的解决方法
- 【十九】文件译文:reportgenerator.properties (报表生成器属性文件)
- 【体系结构】Oracle的各种文件及其重要性
- python选择应用窗口到最前面
- fatal: empty string is not a valid pathspec, please use . instead if you meant to match all paths
- rust服务器人数查询网站,Rust Web框架列表
- 深度学习结合SLAM的研究思路/成果整理之(二)语义SLAM 端到端
- Android 吸顶布局的写法
- [515]歌曲识别-dejavu-python
- OptaPlanner快速开始
- 2022年湖南省自考考试学前特殊儿童教育练习题及答案
- 客户端设置超时,max_fails失效----问题分析
- 690家门店送万份小食 汉堡王“战舰世界堡胃战”活动开启
- 网盘、云盘共享文件搜索引擎链接收藏目录
热门文章
- div固定大小文字溢出自动缩小_CSS样式更改——框模型、定位、浮动、溢出
- 第八章-数据类、结构
- matlab 多目标规划
- FPGA的设计艺术(4)STA实战之不同时序路径的建立保持时间计算
- Vivado各个过程产生的文件与ISE的对比
- 安卓开发之使用viewpager+fragment实现滚动tab页
- nagios2------添加监控对象
- extjs4.0的高级组件grid补充01选择模式selection和表格特性feature
- 美国公司欲联合大电脑商阻止绿坝推广
- windows平台下vlc编译之六:vlc-0.9.8a的编译