Django后端按照日期查询的方法教程

前言

最近接触过一些按照日期筛选查询数据的案例,看到过一篇博客,总结了一些后端时间筛选的方法,这里本人也总结记录一下,以备不时之需。简单应用请参考这篇博客----->传送门

与单个时间进行比较筛选

start的取值按照不同的筛选条件改变

start = datetime.timedelta(hours=23,minutes=59,seconds=59)
# datetime.timedelta是计算时间差之前的日期,即距离现在23小时59分钟59秒的时间,即一天前

# 查询今天一天之内的数据
models.CountDownSign.objects.filter(date_time_field__gt=start)
# 查询今天一天之内的数据 包括当前那一刻
models.CountDownSign.objects.filter(date_time_field__gte=start)

start = datetime.datetime.now()
# 查询之前的数据
models.CountDownSign.objects.filter(date_time_field__lt=start)
# 查询之前的数据包括当前这一刻
models.CountDownSign.objects.filter(date_time_field__lte=start)

一个时间段内的筛选

# 筛选日期在此时间段的数据
obj = models.CountDownSign.objects.filter(date__range=(start, end))

按照周,年等筛选

# 按照周几查询
obj = models.CountDownSign.objects.filter(date__week_day=week_day)
# 按照年份查询
obj = models.CountDownSign.objects.filter(date__year=year)
# 按照月份查询
obj = models.CountDownSign.objects.filter(date__month=month)
# 按照某天查询
obj = models.CountDownSign.objects.filter(date__day=day)

总结

到此这篇关于Django后端按照日期查询的文章就介绍到这了,更多相关Django按日期查询内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 解决Django中多条件查询的问题

    tags: django中对条件查询 一些cms项目都会使用到多条件查询,我们后端如何处理请求的条件呢? 满足一个条件 满足两个条件 满足多个条件 -------. 这样处理起来会非常的恼火. 其实有多方法比如(传参数,传字典,传Q对象,传F对象-)陷入深深的思考中-怎么用做简单的方法把这个需求解决了. 个人觉得.把我们的查询的所有条件来构建一个字典来查询起来比较高效.具体如何操作见下面的代码: 视图函数. def order_list(request): if request.method =

  • Django中对数据查询结果进行排序的方法

    在你的 Django 应用中,你或许希望根据某字段的值对检索结果排序,比如说,按字母顺序. 那么,使用 order_by() 这个方法就可以搞定了. >>> Publisher.objects.order_by("name") [<Publisher: Apress>, <Publisher: O'Reilly>] 跟以前的 all() 例子差不多,SQL语句里多了指定排序的部分: SELECT id, name, address, city,

  • 在Django的视图中使用数据库查询的方法

    在视图中也有笨方法可以从数据库中获取数据. 很简单: 用现有的任何 Python 类库执行一条 SQL 查询并对结果进行一些处理. 在本例的视图中,我们使用了 MySQLdb 类库(可以从 http://www.djangoproject.com/r/python-mysql/ 获得)来连接 MySQL 数据库,取回一些记录,将它们提供给模板以显示一个网页: from django.shortcuts import render_to_response import MySQLdb def bo

  • Django ORM 查询表中某列字段值的方法

    1.什么是ORM ORM 全拼Object-Relation Mapping. 中文意为 对象-关系映射. 在MVC/MVT设计模式中的Model模块中都包括ORM 2.ORM优势 (1)只需要面向对象编程, 不需要面向数据库编写代码. 对数据库的操作都转化成对类属性和方法的操作. 不用编写各种数据库的sql语句. (2)实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异. 不在关注用的是mysql.oracle...等. 通过简单的配置就可以轻松更换数据库, 而不需要修改代码. 3.

  • Django 查询数据库并返回页面的例子

    views.py 视图文件 message = None all_message = UserMessage.objects.filter(name='测试2') if all_message: message = all_message[0] return render(request, 'message_form.html',{ 'my_message':message }) .html 模板文件 <input id="name" type="text"

  • Django框架多表查询实例分析

    本文实例讲述了Django框架多表查询.分享给大家供大家参考,具体如下: 多表查询是模型层的重要功能之一, Django提供了一套基于关联字段独特的解决方案. ForeignKey 来自Django官方文档的模型示例: from django.db import models class Blog(models.Model): name = models.CharField(max_length=100) tagline = models.TextField() class Author(mod

  • django 按时间范围查询数据库实例代码

    从前台中获得时间范围,在django后台处理request中数据,完成format,按照范围调用函数查询数据库. 介绍一个简单的功能,就是从web表单里获取用户指定的时间范围,然后在数据库中查询此时间范围内的数据. 数据库里的model举例是这样: class book(models.Model): name = models.CharField(max_length=50, unique=True) date = models.DateTimeField() def __unicode__(s

  • Django后端按照日期查询的方法教程

    前言 最近接触过一些按照日期筛选查询数据的案例,看到过一篇博客,总结了一些后端时间筛选的方法,这里本人也总结记录一下,以备不时之需.简单应用请参考这篇博客----->传送门 与单个时间进行比较筛选 start的取值按照不同的筛选条件改变 start = datetime.timedelta(hours=23,minutes=59,seconds=59) # datetime.timedelta是计算时间差之前的日期,即距离现在23小时59分钟59秒的时间,即一天前 # 查询今天一天之内的数据 m

  • Django中常用的查询数据方法及查询对象的条件详解

    (1)常用的查询方法: 1.获取所有记录: s = User.objects.all() 2.获取第一条数据: s = User.objects.first() 3.获取最后一条数据: s = User.objects.last() 关于二.三两个方法注意点: 对于QuerySet对象,我们也是可以通过下标取值获取对应的实例对象.如下所示--虽然这两个方法作用一致(获取到对应的实例对象),但是推荐使用(而且一般使用的)都是first()方法及last()方法. 原因--如果查询的数据不存在的话,

  • Django migrations 默认目录修改的方法教程

    如何使用 migrations的使用非常简单: 修改model, 比如增加field, 然后运行 python manager.py makemigrations 你的mmodel会被扫描, 然后与之前的版本作比较, 在app的migrations目录下生成本次迁移文件. 我们建议查看一下该迁移文件, 确保没有问题. 然后运行: python manager.py migrate migrate命令会进行比较, 并应用该迁移. migrations 默认目录修改 群里看到个问题: migrati

  • Angular4.0中引入laydate.js日期插件的方法教程

    前言 laydate.js经过贤心大大的重写之后功能越来越强大,用起来也愈渐灵活了,大家都知道.Angular是不支持直接引入js文件的,下面介绍项目如果引入laydate.js的方法(可同样用于其他js文件引入,可能会有一些差别) 方法如下: 一.将下载的laydate中的js和theme文件放到一个统一的文件下面,我把它放到asset下 二.在angular-cli.json配置js 三.修改laydate.js 找到这一句补全路径和删除版本号 "modules/laydate/"

  • Python的Django框架实现数据库查询(不返回QuerySet的方法)

    一.创建模型类: # -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models class Course(models.Model): """课程表""" name = models.CharField(verbose_name='课程名称', max_length=255) description = models.Tex

  • vue前端和Django后端如何查询一定时间段内的数据

    前言 在开发过程中经常会遇到筛选查询之类的功能,比如查询某一个时间段内的数据而非所有数据. 这样我们就需要向后端发送时间段的参数,然后在后端处理查询. 这里以Django后端和vue前端的简单例子来记录大致实现. 后端数据库 这里是一些简单的数据重要的是date,我们需要根据日期来筛选返回到前端. models.py class CountDownSign(models.Model): name = models.CharField(max_length=1000) date = models.

  • Django中url的反向查询的方法

    本文介绍了Django中url的反向查询的方法,分享给大家,具体如下: 明确几个概念: 1.application namespace : 正在部署的app的名称,一个app的多个实例应该具有相同的application namespace. 可以通过在URLconf模块(urls.py)中设置 app_name 属性(与urlpatterns属性同级)来指定application namesapce. (在django2.0版本中必须设置 app_name ) 2.instance names

  • django orm 通过related_name反向查询的方法

    如下所示: class level(models.Model): l_name = models.CharField(max_length=50,verbose_name="等级名称") def __str__(self): return self.l_name class userinfo(models.Model): u_name = models.CharField(max_length=50,verbose_name="用户名称") u_level = mo

  • Django ORM多对多查询方法(自定义第三张表&ManyToManyField)

    对于多对多表 - 1.自定义第三张表,更加灵活 - 2.ManyToManyField 自动生成第3张表 只能 有3列数据 不能自己添加. 自定义第三张表 # models.py class Boy(models.Model): name = models.CharField(max_length=32) class Girl(models.Model): name = models.CharField(max_length=32) class Love(models.Model): b = m

  • Oracle实现查询2个日期所跨过的月份列表/日期列表的方法分析

    本文实例讲述了Oracle实现查询2个日期所跨过的月份列表/日期列表的方法.分享给大家供大家参考,具体如下: 1.基本逻辑公式: Select Rownum, 开始日期+Rownum-1 from dual connect by rownum< 结束日期-开始日期 +2; 2.查询2个日期所跨过的日期yyyy-mm-dd列表: 查询结果: SQL代码(开始时间:2019-01-22,结束时间:2019-01-02): Select Rownum, to_date('2019-01-02', 'y

随机推荐