怎么用django filters实现数据过滤
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,这篇"怎么用django filters实现数据过滤"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一
千家信息网最后更新 2025年02月06日怎么用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安全错误
数据库的锁怎样保障安全
达梦数据库设置自动备份
武汉传奕软件开发公司
广州数字跳动网络技术有限公司
维护网络安全时评
中国检索数据库有哪些
完善国家网络安全监测预警
软件开发编程工资多少
网络安全的前提
卡西欧在线时间服务器
国内外的网络安全现状分析
云点智能机器人软件开发
天津首选dns服务器云空间
高校社团数据库设计前沿
松江区手机软件开发在线咨询
仁怀网络安全系统排行
sql备份和还原数据库
无锡打造智慧小区软件开发
数据库账号权限
魔兽比较好的服务器
汇客网络技术有限公司
网络安全手抄报清楚的文字
中国外交中的网络安全因素研究
卫星互联网和美国科技
mit数据库
QQ引流软件开发
网络安全的前提
安网络安全公司
河南利梭互联网科技有限公司
查找外文学术文章的全文型数据库
软件开发测试app