怎么用django filters实现数据过滤
发表于:2024-10-31 作者:千家信息网编辑
千家信息网最后更新 2024年10月31日,这篇"怎么用django filters实现数据过滤"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一
千家信息网最后更新 2024年10月31日怎么用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安全错误
数据库的锁怎样保障安全
惠山区加工软件开发内容
山东网络安全报告发布会
点雇网络技术
网络安全风险测试
三江学院网络安全
中职计算机网络技术用途
无线网络技术增益
图书馆数据与网络安全
代号探戈服务器核心打不开
肇庆手机软件开发收费
视频监控管理服务器价格
计算机数据库三级全程班
北京势不可挡网络技术公司
模块化软件开发技术
计算机服务器共有多少种
怎么查数据库一部分表
毕业生管理系统数据库论文
pycharm打开数据库
淘宝的服务器是租用还是自己买
宽带显示服务器无法识别
obs 云服务器直播
经贸网络安全条约
最强服务器cpu
arm服务器装linux
音乐服务器 docker
5区狮心是pvp服务器吗
电话通了之后无法连接到服务器
网络技术公司怎么赚钱
数据库教程哪个好
常见的英文学术文献数据库