久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

django admin管理工具自定義時間區間篩選器DateRangeFilter介紹

瀏覽:3日期:2024-10-04 14:37:07

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 DateRangeFilterfrom django.contrib import adminfrom models import TaskModelclass TaskAdmin(admin.ModelAdmin): list_filter = ( ’user_name’, (’submit_time’, DateRangeFilter), # this is a tuple ... )

在admin頁面上注冊后就可以看到效果了。

django admin管理工具自定義時間區間篩選器DateRangeFilter介紹

參考鏈接: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
相關文章:
主站蜘蛛池模板: 嵊州市| 曲水县| 温宿县| 治县。| 长丰县| 景德镇市| 应城市| 安庆市| 虎林市| 双柏县| 岳西县| 巴中市| 东平县| 阿拉尔市| 益阳市| 尼勒克县| 文山县| 朔州市| 青州市| 岑巩县| 土默特右旗| 清原| 新沂市| 濮阳市| 拉孜县| 尼木县| 循化| 临城县| 平和县| 夏邑县| 上高县| 崇义县| 青阳县| 紫云| 舟曲县| 濮阳县| 大连市| 延安市| 启东市| 拉萨市| 海城市|