为django admin站点提供的额外过滤器
项目描述
django-adminfilters
Django admin站点的额外过滤器集合
示例可以在https://django-adminfilters.herokuapp.com/demo/artist/找到
https://user-images.githubusercontent.com/27282/153727131-d875f946-a8a8-4d89-be83-1d8cb5c9391a.mp4
过滤器
- 自动完成
- AutocompleteFilter
- 简单
- ValueFilter
- 组合框
- AllValuesComboFilter
- RelatedFieldComboFilter
- ChoicesFieldComboFilter
- 日期
- DateRangeFilter
- 单选按钮
- AllValuesRadioFilter
- RelatedFieldRadioFilter
- ChoicesFieldRadioFilter
- 布尔单选按钮
- 复选框
- RelatedFieldCheckBoxFilter
- 多选
- MultiValueFilter
- 多对多
- IntersectionFieldListFilter
- UnionFieldListFilter
- JSON
- JsonFieldFilter
- 数字
- 数字过滤器
- 特殊
- 查询字符串过滤器
- Django查找过滤器
- 权限前缀过滤器
仅供参考
过滤器管理(保存/检索)由可选的应用程序 adminfilters.depot
处理,由于Django过滤器内部设计,它使用GET方法将过滤器定义保存到数据库。当您使用 FilterDepotManager
保存过滤器时,调用是 幂等的 但不是 安全的。
用法示例
class MyModel(models.Model):
index = models.CharField(max_length=255)
name = models.CharField(max_length=255)
age = models.IntegerField()
flag = models.CharField(default="1", choices=(("0", "Flag 1"), ("1", "Flag 2"))
household = models.ForeignKey('Household')
custom = JSONField(default=dict, blank=True)
class MyModelAdmin(ModelAdmin):
list_filter = (
FilterDepotManager, # needs `adminfilters.depot` app
QueryStringFilter,
DjangoLookupFilter,
("custom", JsonFieldFilter.factory(can_negate=False, options=True)),
("flag", ChoicesFieldComboFilter),
('household', AutoCompleteFilter)
('name', ValueFilter.factory(lookup='istartswith'),
("age", NumberFilter),
)
运行演示应用程序
$ git clone https://github.com/saxix/django-adminfilters.git
$ cd django-adminfilters
$ python3 -m venv .venv
$ source .venv/bin/activate
$ make develop
$ make demo
项目链接
项目详情
关闭
django-adminfilters-2.4.3.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | f8df0edcaa66e3469729125720a08f2374c5861d592fecf6594b8af3943729bb |
|
MD5 | 21d7ecdf99c73cafd7020fef1b4a3e95 |
|
BLAKE2b-256 | de83efdd90cac9c82bcc4d073ed121a6aa801f28fc34bfa098ea5302936d0e35 |