当前位置: 首页 > 工具软件 > Django Silk > 使用案例 >

Django 基础(3)-django_filters模块

荣沈义
2023-12-01

一、Django 基础(3)-django_filters模块

1. django_filters模块

https://pypi.org/project/django-filter/

Django-Filter是一个非常好用的第三方库,很好的利用了Django ORM的特性,可以使用很少的代码就扩展原有的接口,实现多种筛选功能~

2. Django-Filter的简单使用方法

首先是安装Django-Filter:

pip install django-filter

注册应用:settings/dev.py

INSTALLED_APPS = [
    ...
    'django_filters',
]

然后在ViewSet里面配置就好了:
视图函数:course/views.py

from django_filters.rest_framework import DjangoFilterBackend
class CourseAPIView(ListAPIView):
    """课程列表接口"""
    queryset = Course.objects.filter(is_delete=False, is_show=True).order_by("-orders")
    serializer_class = CourseSerializer
    # 条件过滤:DjangoFilterBackend
    filter_backends = [DjangoFilterBackend]
    # 过滤字段
    filter_fields = ['course_category', ]

http://127.0.0.1:8000/course/?course_category=1

in操作符

我正在使用 https://github.com/alex/django-filter/的djang

XxxModel.objects.filter(rack__in = racks)

位于给定列表中: polls.objects.filter(id__in=[1, 3, 4]) 返回一个 polls 列表(ID 值分别是 1或3或4).

二、参考

django filter查询多选_Django-filter,让过滤如此简单
参考URL: https://blog.csdn.net/weixin_30621465/article/details/112369547
Python后台开发偷懒神器Django-Filter介绍与刁钻需求的实现方法
参考URL: https://zhuanlan.zhihu.com/p/291336772
Django中过滤的实现
参考URL: https://blog.csdn.net/weixin_30567225/article/details/99148800

 类似资料: