怎么用django filters实现数据过滤
发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,这篇"怎么用django filters实现数据过滤"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一
千家信息网最后更新 2025年11月16日怎么用django filters实现数据过滤
这篇"怎么用django filters实现数据过滤"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"怎么用django filters实现数据过滤"文章吧。
常用
| 当前循环. | 作用 |
|---|---|
| default | 数据为空时设置默认值 |
| length | 取变量长度 |
| filesizeformat | 文件大小转成可读 |
| slice | 从指定位置到指定位切片 |
| date | datetime取到的时间,转成指定格式 |
| safe | 防止XSS攻击、加上safe才能传标签 |
| truncatechars | 取摘显示一段剩下的… |
例子
{#格式 值|函数#}{# 如果没有值,那么使用默认值#} {{ bucunzai|default:'空的哦' }}
{# 取出变量长度#} {{ name }}--{{ name|length }}
{# 文件大小转换成可读型 kb 自动转成bm、g、tb#} 文件大小{{ file_size|filesizeformat }}
{# 切片 从指定位置到指定位 ,例:第3位到-2位#} 切片:{{ slice_str|slice:'3:-2' }}
{# 把datetime取到的时间,转成指定格式#} 格式化:{{ now|date:'Y-m-d H:i:s' }}
{# 如果后端内容包含标签,那么加上safe 才能转义(防止用户直接加script标签作弊)防XSS攻击#} {{ h_html|safe }}
{# 取摘要只显示一段,指定取长度后面...例:120个字符 #} 长文本:{{ p_str|truncatechars:12 }}
1、视图
class UserView(ListAPIView): """用户列表""" queryset = User.objects.all() serializer_class = UserSerializer filter_backends = (DjangoFilterBackend,) filter_class = UserMonthFilter # 指定过滤类2、过滤类
class RobotFilter(django_filters.FilterSet): # 使用过滤:URL?created_start_time=2020_01-20&created_end_time=2020_01-21 robot_id = django_filters.CharFilter(field_name='id') machine_id = django_filters.CharFilter(field_name='machine_id') city = django_filters.CharFilter(field_name='city') # lookup_expr(可选)为判断条件,field_name(必选)为模型类属性,created_time查询字符串 created_time= django_filters.CharFilter(field_name='created_at', lookup_expr='startswith') created_start_time = django_filters.DateTimeFilter(field_name='created_at', lookup_expr='gt') created_end_time = django_filters.DateTimeFilter(field_name='created_at', lookup_expr='lt') problem_isnull = django_filters.BooleanFilter(field_name='problem', lookup_expr='isnull') name = django_filters.CharFilter(lookup_expr='iexact') # iexact表示精确匹配, 并且忽略大小写 author = django_filters.CharFilter(lookup_expr='icontains') #icontains表示模糊查询(包含),并且忽略大小写 price = django_filters.NumberFilter(look_expr='exact') #exact表示精确匹配 task_res_state = django_filters.CharFilter(method="get_task_res_state") def get_task_res_state(self, queryset, *arg): if str(arg[1]) == "0": # arg[1]=('task_res_state', '0') task_res = (1, 2, 3) else: task_res = (0, 4, 5, 6) print(task_res) queryset = queryset.filter(task_res__in=task_res) return queryset class Meta: model = Robot fields = ['robot_id', 'machine_id', "city", "created_start_time", "created_end_time", 'created_time', 'firmware_version', 'state', "robot_type", "hardware_version", "exist_map", 'task_res_state']以上就是关于"怎么用django filters实现数据过滤"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
内容
大小
数据
格式
文件
标签
长度
精确
位置
变量
字符
文章
时间
用户
知识
篇文章
攻击
查询
价值
作用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
社工数据库百度网盘
象检网络安全
美云服务器
数据库设计有什么好的工具
上海皓洹网络技术
四川启明星辰网络安全有限公司
php软件开发简历
apex排名分数是分服务器的吗
西安依恩驰网络技术有限
杭州机智猫网络技术有限公司
软件开发交接事项
神州笔记本做软件开发
龙图片素材软件开发
互联网大厂科技公司
中小学生家庭与网络安全直播
手机开启服务器
网络安全校园
信息化软件开发技术指导
西南民族大学数据库IP是多少
铜城分局网络安全保卫大队
考试服务器安全防范
重庆科教频道回看网络安全
推理大师服务器连接失败
手机浏览器连接阿里云服务器
谨防网络安全主题班会
gis数据库的管理模式有哪些
卫辉软件开发地址
衡山租房软件开发
黑龙江毕妆网络技术有限公司
恒盛网络技术