以下操作结合 djangorestframework 库来使用
安装与注册
pip3 install django-filter
INSTALLED_APPS = [...'django_filters',...]
示例
model.py
class User(models.Model):# 模型字段name = models.CharField(max_length=10, verbose_name="姓名")sex = models.BooleanField(default=1, verbose_name="性别")age = models.IntegerField(verbose_name="年龄")phone = models.CharField(max_length=20, null=True, verbose_name="电话")addr = models.CharField(max_length=100,null=True,verbose_name="地址")
view.py
视图层直接设置过滤字段
# 以name和age过滤class UserViewSet(ModelViewSet):queryset = User.objects.all()serializer_class = UserModelSerializerfilter_backends = (DjangoFilterBackend,)filter_fields = ('name', 'age')
filter_backends
配置过滤器,也可以在setting.py文件全局配置
# 这样REST_FRAMEWORK = {# 全局默认配置过滤'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',)}
- filter_fields
设置过滤字段,这里设置了
name和age
