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中按照时间范围查询数据库相关推荐

  1. Django中models模型(操作数据库)

    ORM 自己创建数据库 连接数据库 Django操作表 数据库操作 新建 删除 获取数据 实例:用户管理 Django开发操作数据库更简单,内部提供了ORM框架 ORM的流程 ORM ORM,全称 O ...

  2. Django中如何使用Mysql数据库

    在Django中使用Mysql数据库 方法一: 首先在项目settings.py的文件同目录下的 init.py 文件里输入 import pymysql pymysql.install_as_MyS ...

  3. vba mysql查询数组中_VBA中典型的查询数据库及相关命令代码 | 雷雨博客

    请参考:https://docs.microsoft.com/zh-cn/office/vba/api/overview/access 1.下述代码可以查询读者表里总记录条数 Dim cnn As O ...

  4. Django中pipeline操作Redis数据库

    1.Redis的 C - S 架构: 基于客户端-服务端模型以及请求/响应协议的TCP服务. 客户端向服务端发送一个查询请求,并监听Socket返回. 通常是以阻塞模式,等待服务端响应. 服务端处理命 ...

  5. django中的关联查询

    通过模型类实现关联查询 例:查询图书信息,要求图书关联的英雄的描述包含'盲'. >>> BookInfo.objects.filter(heroinfo__hname__contai ...

  6. Django中多对多查询方式

    使用版本python3.5+django1.11.4 创建django-admin startproject DjangoORM 创建App ./manage.py startapp ORM from ...

  7. django中,kindeditor存到数据库的html,前台html标签被自动转义的解决办法

    2019独角兽企业重金招聘Python工程师标准>>> 1,使用kindeditor进行了上传图片功能,存储到后台的html代码为: <img src="/stati ...

  8. django中的Q查询

    转载于:https://mozillazg.com/2015/11/django-the-power-of-q-objects-and-how-to-use-q-object.html 原文写的很详细 ...

  9. web.py中实现类似Django中的ORM的查询效果

    Django中的对象查询 Django框架自带了ORM,实现了一些比较强大而且方便的查询功能,这些功能和表无关.比如下面这个例子: class Question(models.Model):quest ...

最新文章

  1. 【leetcode】944. Delete Columns to Make Sorted
  2. 再见 Win10!下一代操作系统来了。。
  3. MySQL迁移过程中遇到的问题
  4. PDF转换器安装教程
  5. 基于时空相关属性模型的公交到站时间预测算法
  6. python二进制反码例题_python中的进制转换和原码,反码,补码
  7. Visual Studio控制台程序输出窗口一闪而过的解决方法
  8. 【十九】文件译文:reportgenerator.properties (报表生成器属性文件)
  9. 【体系结构】Oracle的各种文件及其重要性
  10. python选择应用窗口到最前面
  11. fatal: empty string is not a valid pathspec, please use . instead if you meant to match all paths
  12. rust服务器人数查询网站,Rust Web框架列表
  13. 深度学习结合SLAM的研究思路/成果整理之(二)语义SLAM 端到端
  14. Android 吸顶布局的写法
  15. [515]歌曲识别-dejavu-python
  16. OptaPlanner快速开始
  17. 2022年湖南省自考考试学前特殊儿童教育练习题及答案
  18. 客户端设置超时,max_fails失效----问题分析
  19. 690家门店送万份小食 汉堡王“战舰世界堡胃战”活动开启
  20. 网盘、云盘共享文件搜索引擎链接收藏目录

热门文章

  1. div固定大小文字溢出自动缩小_CSS样式更改——框模型、定位、浮动、溢出
  2. 第八章-数据类、结构
  3. matlab 多目标规划
  4. FPGA的设计艺术(4)STA实战之不同时序路径的建立保持时间计算
  5. Vivado各个过程产生的文件与ISE的对比
  6. 安卓开发之使用viewpager+fragment实现滚动tab页
  7. nagios2------添加监控对象
  8. extjs4.0的高级组件grid补充01选择模式selection和表格特性feature
  9. 美国公司欲联合大电脑商阻止绿坝推广
  10. windows平台下vlc编译之六:vlc-0.9.8a的编译