python筛选时间段_django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
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介绍相关推荐
- Django admin 管理工具
Django admin 管理工具 1 admin组件的使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 se ...
- Django Admin 管理工具, 以及问题解决
http://www.runoob.com/django/django-admin-manage-tool.html 登录进去却提示"你无权修改任何东西" urls.py 中加入一 ...
- 【Python】解决Django Admin管理界面样式表(CSS Style)丢失问题
[Python]解决Django Admin管理界面样式表(CSS Style)丢失问题 参考文章: (1)[Python]解决Django Admin管理界面样式表(CSS Style)丢失问题 ( ...
- umi3 如何管理model_django admin 管理工具
Django 提供了基于web的管理工具:Django admin 自动管理工具 是 django.contrib 的一部分,我们可以在项目的 settings.py 中的 INSTALLED_APP ...
- python中有很多包管理工具有哪些不是_C 语言中有没有类似 Python 中 pip 的包管理工具?...
C 以及 C++ 虽然经历过标准化,但缺乏单一的掌控者.现实世界里的 C/C++ 犹如神圣罗马帝国,固然有一个委员会在名义上号令天下,但事实上是各路诸侯的方言割据:Vistual Studio 的 C ...
- Python中的pip包管理工具被删除重新进行安装
在本地环境开发时,使用pip的相关命令安装依赖时,突然遇到了pip包管理工具被删除了 pip的官网:https://pip.pypa.io/en/stable/installation/#get-pi ...
- Python supervisor 强大的进程管理工具
一.问题背景 1.背景 如何才能让一个进程摆脱终端,获得相对较长的生命周期? 2.后台(守护).前台进程 什么是守护进程?通俗点讲就是后台跑着的进程,不会因为你关了终端服务就会随之停止,直到你把计算机 ...
- python自定义表单_django admin添加自定义按钮自定义表单
我想在'Add model_name'附近添加一个自定义按钮.当我点击新创建的按钮时,我想显示一个自定义表单,我可以从选择框中选择一个模型.当我点击保存时,我想保存这个模型,并有机会获得一些参数,所以 ...
- Python web 项目的依赖管理工具
Poetry可以帮助你声明.管理和安装Python项目的依赖项,确保你可以在任何地方都拥有正确的堆栈. Poetry支持Python 2.7 和Python 3以上 安装 Poetry提供了一个自定义 ...
最新文章
- optee应用程序中malloc函数的原理介绍
- android手机最低内存,原神手机端需要哪些配置 手机端最低配置要求介绍
- leetcode161. 相隔为 1 的编辑距离
- sdut 区间覆盖问题
- js图片转二进制流_V8是如何执行一段JS代码的?
- linux下生成静态库和动态库
- Tornado 错误 Global name 'memoryview' is not defined
- 天正lisp文件夹_CAD使用一个LISP文件,实现自动加载菜单和程序集
- 8.PMAC上位机-VC编程环境配置
- 谷歌学术搜索技巧:查找一个句子的某个空应该用什么词
- ie不能加载flash html,IE11无法显示flash?IE11无法播放视频的解决方法
- python 语料_用python将语料转化为可计算的形式
- 亚马逊账号关联怎么办?多账号如何自查?
- ARM的商业模式和ARM各种版本号区分
- c# char unsigned_关于C ++:将unsigned char *复制到unsigned char *
- Mask Rcnn目标分割-项目搭建及跑通测试代码
- 计算机类对身体要求,旅游管理专业对身体条件的要求
- HDU - 4540 威威猫系列故事——打地鼠
- 中科院分词ictclas50 web项目 linux,NLPIR/ICTCLAS2014中科院分词系统Api接口 For 易语言...
- 计算机系统优化的几种方法,轻松几个方法让电脑恢复正常速度