首页 > 其他分享 >区间过滤 课程章节接口

区间过滤 课程章节接口

时间:2024-02-19 21:45:04浏览次数:23  
标签:章节 name fields price backends 接口 filter 过滤 class

区间过滤

# 借助django-filter实现区间过滤
# 实现区间过滤
##########1 filters.py
class CourseFilterSet(FilterSet):
    # 课程的价格范围要大于min_price,小于max_price
    min_price = filters.NumberFilter(field_name='price', lookup_expr='gt')
    max_price = filters.NumberFilter(field_name='price', lookup_expr='lt')
    class Meta:
        model=models.Course
        fields=['course_category']
#####2 视图类中配置
     -filter_backends=[DjangoFilterBackend]
     # 配置类:(自己写的类)
     -filter_class = CourseFilterSet
View Code

 

 

 

课程单查接口

class CouresView(GenericViewSet,ListModelMixin,RetrieveModelMixin):
    queryset = models.Course.objects.filter(is_delete=False,is_show=True).order_by('orders')
    serializer_class = serializer.CourseModelSerializer
    pagination_class = PageNumberPagination

    # 过滤和排序
    # filter_backends=[DjangoFilterBackend,OrderingFilter,SearchFilter]
    # filter_backends=[DjangoFilterBackend,OrderingFilter,MyFilter]
    filter_backends=[DjangoFilterBackend,OrderingFilter]
    # # filter_backends=OrderingFilter
    ordering_fields=['id', 'price', 'students']
    # # search_fields=['course_category']
    filter_fields=['course_category']
View Code

 

 

章节分类接口

#1 urls.py
router.register('chapters', views.CourseChapterView, 'coursechapter')

# 2 views.py
class CourseChapterView(GenericViewSet,ListModelMixin):
    queryset = models.CourseChapter.objects.filter(is_delete=False,is_show=True)
    serializer_class = serializer.CourseChapterSerializer

    # 可以按照课程id来查
    filter_backends = [DjangoFilterBackend]
    filter_fields = ['course']
    
    
    
# 3 serializer.py
class CourseSectionSerializer(serializers.ModelSerializer):
    class Meta:
        model=models.CourseSection
        fields=['name','orders','duration','free_trail','section_link','section_type_name']
class CourseChapterSerializer(serializers.ModelSerializer):
    # 子序列化的方式
    coursesections=CourseSectionSerializer(many=True)
    class Meta:
        model=models.CourseChapter
        fields=['name','summary','chapter','coursesections']
View Code

 

标签:章节,name,fields,price,backends,接口,filter,过滤,class
From: https://www.cnblogs.com/97zs/p/18022025

相关文章

  • postman也不行!IDEA接口调试插件
    Postman是大家最常用的API调试工具,那么有没有一种方法可以不用手动写入接口到Postman,即可进行接口调试操作?今天给大家推荐一款IDEA插件:ApipostHelper,写完代码就可以调试接口并一键生成接口文档!而且还可以根据已有的方法帮助您快速生成url和params。更重要的是他完全免费!Apipos......
  • 可视化视频监控平台EasyCVR如何配置服务参数以免getbaseconfig接口信息泄露?
    可视化云监控平台/安防视频监控系统EasyCVR视频综合管理平台,采用了开放式的网络结构,平台支持高清视频的接入和传输、分发,可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力,同时还具......
  • html页面直接回显接口返回的图片文件流
    <imgsrc="http://127.0.0.1:8081/t1/img">@GetMapping("/img")@SneakyThrowspublicvoidtest01(HttpServletResponseresponse){Stringjp=Jie截屏.jp(0,0,300,200,"D:\\桌面文档\\123.png");......
  • python-mock接口测试
    什么是mock?测试桩,模拟被测对象的返回,用于测试通常意义的mock指的就是mockserver,模拟服务端返回的接口数据,用于前端开发,第三方接口联调为什么要mock?1.解决依赖问题:当我们测试一个接口或者功能模块的时候,如果这个接口或者功能模块依赖其他接口或其他模块,那么如果所依赖的......
  • 基于stm32的spi接口dma 数据收发实例解析
    一前记  SPI接口平时用的比较少,再加上对CUBEMX不是很熟悉,这里踩了不少坑才把问题解决。针对遇到了不少问题,是要值得梳理一下了。二源码解析1SPI的DMA发送端配置: 2主函数源码:uint32_tg_spi_cnt=0;voidHAL_SPI_TxCpltCallback(SPI_HandleTypeDef*hspi){......
  • STM32 SPI接口 DMA normal 和circual区别
     DMA有normal和circular两种模式。circular模式:就调用这个函数一次就可以了,DMA一直开启,一帧数据发送完毕之后里面发送下一帧,中间没有停顿。这样确实是快了,也释放了CPU,各路的数据采集因为缺少了等待串口发送的时间,所以就间接提高的了数据更新速率。但有个致命缺陷:数据采集和数......
  • ts接口03
    //接口对对象的形状进行描述可以理解为一种约束//?表示为可选属性,表示可有可无//[prop:string]代表任意属性,当不确定属性名的时候,属性类型,可以使用,但是要注意的是,一旦确定了不是any类型,而是string,number,Boolean之类的,其他的类型也会变成他的子集//[prop:string]中如......
  • 使用Redis的ZSet集合实现接口限流
    背景一般在设计后端接口的时候,一般都会预估接口能承受的最大流量是多少。那么如果瞬时流量超过了接口的承载力,我们就需要考虑接口做限流处理了。限流实际上是指限制系统的输入流量和输出流量已保持系统的稳定性,防止极端条件下系统因为突然的请求激增而造成的崩溃。思考我们知......
  • JS实现一个布隆过滤器
    之前专门聊过令牌桶算法,而类似的方案还有布隆过滤器。它一般用于高效地查找一个元素是否在一个集合中。用js实现如下所示:classBloomFilter{constructor(size,hashFunctions){this.size=size;this.bitArray=newArray(size).fill(0);thi......
  • 怎么做接口自动化测试
    在分层测试的“金字塔”模型中,接口测试属于第二层服务集成测试范畴。相比UI层(主要是WEB或APP)自动化测试而言,接口自动化测试收益更大,且容易实现,维护成本低,有着更高的投入产出比,是每个公司开展自动化测试的首选。 为了让大家更好地了解接口自动化测试本篇文章以下列三个方面介绍......