以下操作结合 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 = UserModelSerializer
filter_backends = (DjangoFilterBackend,)
filter_fields = ('name', 'age')
filter_backends
配置过滤器,也可以在setting.py文件全局配置
# 这样
REST_FRAMEWORK = {
# 全局默认配置过滤
'DEFAULT_FILTER_BACKENDS': (
'django_filters.rest_framework.DjangoFilterBackend',
)
}
- filter_fields
设置过滤字段,这里设置了
name
和age