django管理的数字筛选器
django-admin-numeric-filter的Python项目详细描述
django管理数字筛选器
django admin numeric filter为django admin提供了几个筛选器类,您可以使用这些类来筛选更改列表中的结果。它在list_filter中工作,当字段名定义为list时,其中第一个值是字段名,第二个值是自定义筛选器类(您可以在下面找到类)。
不要忘记从admin actions.admin.numericfiltermodeladmin继承模型管理,以加载在内部媒体类中声明的自定义css样式和javascript文件。
开始
- 安装
pip install django-admin-numeric-filter
- 在django.contrib.admin之前,将admin数值过滤器添加到installed\u应用程序中。
管理配置示例
fromadmin_numeric_filter.adminimportNumericFilterModelAdmin,SingleNumericFilter,RangeNumericFilter, \ SliderNumericFilterfrom.modelsimportYourModelclassCustomSliderNumericFilter(SliderNumericFilter):MAX_DECIMALS=2STEP=10@admin.register(YourModel)classYourModelAdmin(NumericFilterModelAdmin):list_filter=(('field_A',SingleNumericFilter),# Single field search, __gte lookup('field_B',RangeNumericFilter),# Range search, __gte and __lte lookup('field_C',SliderNumericFilter),# Same as range above but with slider('field_D',CustomSliderNumericFilter),# Filter with custom attributes)
过滤类
Class name | Description |
---|---|
admin_actions.admin.SingleNumericFilter | Single field search, __gte lookup |
admin_actions.admin.RangeNumericFilter | Range search, __gte and __lte lookup |
admin_actions.admin.SliderNumericFilter | Same as range above but with slider |
某些字段类型的滑块默认选项
Django model field | Step | Decimal places |
---|---|---|
django.db.models.fields.DecimalField() | Based on decimal places | max precision from DB |
django.db.models.fields.FloatField() | Based on decimal places | field decimal_places attr |
django.db.models.fields.IntegerField() | 1 | 0 |