Django-filter是一个可重用的Django应用程序,允许用户动态地过滤查询集。
项目描述
Django-filter是一个可重用的Django应用程序,允许用户通过URL参数声明性地添加动态QuerySet过滤。
完整文档请参阅read the docs。
版本控制和稳定性策略
Django-Filter是一个成熟且稳定的包。它使用两部分的CalVer版本控制方案,例如21.1。第一个数字是年份,第二个是该年份内的发布编号。
在持续发展的过程中,Django-Filter 致力于支持所有当前版本的 Django、匹配的当前 Python 版本以及 Django REST Framework 的最新版本。
请参阅
当 Python 和 Django 版本达到生命周期的终点时,将停止支持。即使它们仍然被当前版本的 Django 支持,也会停止支持 Python 版本。
其他破坏性更改很少。在需要时,将尽一切努力应用“再加两年”的弃用期限。例如,最初在 23.x 中引入的更改将提供可行的回退,并在 25.1 中最终删除。在不可行的地方,发布说明中将指出没有弃用过程的破坏性更改。
安装
使用 pip 安装
pip install django-filter
然后将 'django_filters' 添加到您的 INSTALLED_APPS。
INSTALLED_APPS = [
...
'django_filters',
]
用法
Django-filter 可以用于生成类似于 Django 管理员 list_filter 界面的接口。它的 API 非常类似于 Django 的 ModelForms。例如,如果您有一个产品模型,您可以为其创建一个带有以下代码的过滤器集:
import django_filters
class ProductFilter(django_filters.FilterSet):
class Meta:
model = Product
fields = ['name', 'price', 'manufacturer']
然后在您的视图中,您可以这样做
def product_list(request):
filter = ProductFilter(request.GET, queryset=Product.objects.all())
return render(request, 'my_app/template.html', {'filter': filter})
Django REST Framework 中的用法
Django-filter 为 Django REST Framework 提供了一个自定义的 FilterSet 和过滤器后端。
要使用它,请调整您的导入以使用 django_filters.rest_framework.FilterSet。
from django_filters import rest_framework as filters
class ProductFilter(filters.FilterSet):
class Meta:
model = Product
fields = ('category', 'in_stock')
有关更多详细信息,请参阅 DRF 集成文档。
支持
如果您需要帮助,可以开始一个 讨论。对于商业支持,请通过他的网站 联系 Carlton Gibson。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源代码发行版
构建分发版
django_filter-24.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d8ccaf6732afd21ca0542f6733b11591030fa98669f8d15599b358e24a2cd9c3 |
|
MD5 | 311acaee883d9a63aaa740dfae17cbd2 |
|
BLAKE2b-256 | 50bcdc19ae39c235332926dd0efe0951f663fa1a9fc6be8430737ff7fd566b20 |
django_filter-24.3-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c4852822928ce17fb699bcfccd644b3574f1a2d80aeb2b4ff4f16b02dd49dc64 |
|
MD5 | 2db7a2274c8c33547d618596ebf3aae4 |
|
BLAKE2b-256 | 09b192f1c30b47c1ebf510c35a2ccad9448f73437e5891bbd2b4febe357cc3de |