django admin管理工具有很多好用的功能,例如搜索框、筛选器等,编码简单,功能强大。

但是常规的时间筛选有一定局限性,只能显示一定时间节点到当前时间这一段时间段内的筛选结果,做不到自由定义时间段筛选,本人找到了可以实现这一功能的插件,就是今天要介绍的DateRangeFilter。

注意: DateRangeFilter只适用于Django 1.4以上的版本。

插件安装

使用 pip或easy_install:

pip install django-daterange-filter

修改配置

在settings.py中的INSTALLED_APPS如下加入配置项:

INSTALLED_APPS = (

...

'daterange_filter'

)

加入筛选器

假设你需要普通筛选和通过时间区间进行筛序的字段在models.py里分别是这么写的:

class TaskModel(models.Model):

...

user_name = models.CharField(u'用户名', max_length=128)

submit_time = models.DateTimeField(u'提交时间', auto_now_add=True)

...

那么,在admin.py引入筛选器插件:

from daterange_filter.filter import DateRangeFilter

以上这点是文档中最容易被忽视的部分,所以这里单独列出来以引起重视。

admin.py中涉及到的DateRangeFilter筛选器完整的部分应该这么写:

from daterange_filter.filter import DateRangeFilter

from django.contrib import admin

from models import TaskModel

class TaskAdmin(admin.ModelAdmin):

list_filter = (

'user_name',

('submit_time', DateRangeFilter), # this is a tuple

...

)

在admin页面上注册后就可以看到效果了。

参考链接:https://pypi.org/project/django-daterange-filter/1.1.1/

补充知识:python django orm 过滤 时间,数字比较方法

首先我们来现说一下富比较方法在实际工作中的运用场景,小编一般运用比较多的是时间的比较,数字比较,只要能比较的地方都可以用 如果说 我要创建一条信息,但是如果时间重叠 或者冲突就不能创建成功,

filter(

(Q(start_time1__lt=start_time2) & Q(end_time1__gt=end_time2)) |

Q(start_time1__range=(start_time, end_time)) |

Q(end_time1__range=(start_time, end_time)))

来说上面的代码,__lt 是小于的意思 start_time1 小于 start_time2 & 并且 end_time1 大于 end_time2 __gt 是大于

‘|'是或者的意思 __range 给出一个时间范围 在一个范围之内 在start_time,到end_time 这个范围之间

以上这篇django admin管理工具自定义时间区间筛选器DateRangeFilter介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: django admin管理工具自定义时间区间筛选器DateRangeFilter介绍

本文地址: http://www.cppcns.com/jiaoben/python/313726.html

python筛选时间段_django admin管理工具自定义时间区间筛选器DateRangeFilter介绍相关推荐

  1. Django admin 管理工具

    Django admin 管理工具 1 admin组件的使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 se ...

  2. Django Admin 管理工具, 以及问题解决

    http://www.runoob.com/django/django-admin-manage-tool.html 登录进去却提示"你无权修改任何东西" urls.py 中加入一 ...

  3. 【Python】解决Django Admin管理界面样式表(CSS Style)丢失问题

    [Python]解决Django Admin管理界面样式表(CSS Style)丢失问题 参考文章: (1)[Python]解决Django Admin管理界面样式表(CSS Style)丢失问题 ( ...

  4. umi3 如何管理model_django admin 管理工具

    Django 提供了基于web的管理工具:Django admin 自动管理工具 是 django.contrib 的一部分,我们可以在项目的 settings.py 中的 INSTALLED_APP ...

  5. python中有很多包管理工具有哪些不是_C 语言中有没有类似 Python 中 pip 的包管理工具?...

    C 以及 C++ 虽然经历过标准化,但缺乏单一的掌控者.现实世界里的 C/C++ 犹如神圣罗马帝国,固然有一个委员会在名义上号令天下,但事实上是各路诸侯的方言割据:Vistual Studio 的 C ...

  6. Python中的pip包管理工具被删除重新进行安装

    在本地环境开发时,使用pip的相关命令安装依赖时,突然遇到了pip包管理工具被删除了 pip的官网:https://pip.pypa.io/en/stable/installation/#get-pi ...

  7. Python supervisor 强大的进程管理工具

    一.问题背景 1.背景 如何才能让一个进程摆脱终端,获得相对较长的生命周期? 2.后台(守护).前台进程 什么是守护进程?通俗点讲就是后台跑着的进程,不会因为你关了终端服务就会随之停止,直到你把计算机 ...

  8. python自定义表单_django admin添加自定义按钮自定义表单

    我想在'Add model_name'附近添加一个自定义按钮.当我点击新创建的按钮时,我想显示一个自定义表单,我可以从选择框中选择一个模型.当我点击保存时,我想保存这个模型,并有机会获得一些参数,所以 ...

  9. Python web 项目的依赖管理工具

    Poetry可以帮助你声明.管理和安装Python项目的依赖项,确保你可以在任何地方都拥有正确的堆栈. Poetry支持Python 2.7 和Python 3以上 安装 Poetry提供了一个自定义 ...

最新文章

  1. optee应用程序中malloc函数的原理介绍
  2. android手机最低内存,原神手机端需要哪些配置 手机端最低配置要求介绍
  3. leetcode161. 相隔为 1 的编辑距离
  4. sdut 区间覆盖问题
  5. js图片转二进制流_V8是如何执行一段JS代码的?
  6. linux下生成静态库和动态库
  7. Tornado 错误 Global name 'memoryview' is not defined
  8. 天正lisp文件夹_CAD使用一个LISP文件,实现自动加载菜单和程序集
  9. 8.PMAC上位机-VC编程环境配置
  10. 谷歌学术搜索技巧:查找一个句子的某个空应该用什么词
  11. ie不能加载flash html,IE11无法显示flash?IE11无法播放视频的解决方法
  12. python 语料_用python将语料转化为可计算的形式
  13. 亚马逊账号关联怎么办?多账号如何自查?
  14. ARM的商业模式和ARM各种版本号区分
  15. c# char unsigned_关于C ++:将unsigned char *复制到unsigned char *
  16. Mask Rcnn目标分割-项目搭建及跑通测试代码
  17. 计算机类对身体要求,旅游管理专业对身体条件的要求
  18. HDU - 4540 威威猫系列故事——打地鼠
  19. 中科院分词ictclas50 web项目 linux,NLPIR/ICTCLAS2014中科院分词系统Api接口 For 易语言...
  20. 计算机系统优化的几种方法,轻松几个方法让电脑恢复正常速度

热门文章

  1. Nginx 静态文件服务器搭建及autoindex模块解析
  2. Ubuntu Server 16.04 安装并用两块硬盘做RAID1
  3. Windows下误删文件解决办法
  4. elasticsearch服务相关脚本
  5. ubuntu 设置tab键自动补全
  6. 完整、详细的MySQL规范
  7. 简单的SQL语句 DDL
  8. 浏览器的同源策略与跨域问题的解决方案
  9. 分布式定时任务调度系统技术解决方案(xxl-job、Elastic-job、Saturn)
  10. Web服务的性能,和BCrypt性能问题的解决方法