https://pypi.org/project/django-filter/
Django-Filter是一个非常好用的第三方库,很好的利用了Django ORM的特性,可以使用很少的代码就扩展原有的接口,实现多种筛选功能~
首先是安装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
我正在使用 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