• 2024-07-0257.Django框架之序列化输出
    Django框架【一】序列化组件1)使用案例在前端获取到后端用户表里面的所有数据,并且格式是列表套字典#创建模型表classUser(models.Model): username=models.CharField(max_length=32,verbose_name="姓名")age=models.IntegerField(verbose_name="年龄")2)基于J
  • 2024-05-15排序、过滤、分页
    排序、过滤、分页1.排序1.1使用条件#必须是查询所有接口--》restful规范中:地址栏中带过滤条件 http://127.0.0.1:8008/app01/api/v1/books/?ordering=price#必须是继承GenericAPIView的视图类---》继承APIView是不能这么配置的1.2使用排序#1.引入相关排序相关
  • 2024-05-06super & self
    在一本过时的django里看到一段代码:classPublishedManager(models.Manager):defget_queryset(self):returnsuper(PublishedManager,self).get_queryset().filter(status='published')心想这写的这是啥啊,难道是递归?太复杂了!认真学习之后才知道,super有两个参
  • 2024-04-25DRF之过滤 排序 分页
    DRF之过滤排序分页使用【过滤排序分页】都需要在继承了GenericAPIView的视图类下使用并指定类属性【queryset和serializer_class】【一】过滤#所有过滤类都继承【BaseFilterBackend】fromrest_framework.filtersimportBaseFilterBackend【1】drf自带的过滤#
  • 2024-04-23DRF之过滤类源码分析
    DRF之过滤类源码分析【一】过滤类介绍及BaseFilterBackendDjangoRESTframework(DRF)中的过滤类允许你在API视图中对查询进行过滤,以根据特定条件筛选结果集。过滤类是DRF的一部分,它允许你轻松地添加各种过滤选项,以满足不同用例的需求。classBaseFilterBackend:"""
  • 2024-04-22DRF之视图组件
    【四】视图组件图源:drf(详细)_51CTO博客_什么是drf【1】两个视图基类【1.1】APIView请在【View】中查看详细【1.2】GenericAPIView【1.2.1】常用类属性基本设置:以下属性控制着基本视图的行为。queryset用于从视图返回对象的查询结果集。通常,你必须设置此
  • 2024-04-21过滤与排序
    排序与过滤​ 查询所有才需要过滤,排序是按照某个规则排序排序简单使用导入类OrderingFilter在视图类重写filter_backends属性,在列表内填入导入的类重写ordering_fields属性,在列表内填入字段classBookView(ModelViewSet):queryset=Book.objects.all()serial
  • 2024-04-1706-排序 分页 过滤
    排序查询多条和全部才会用到排序排序关键字:ordering查询字符串查询字符串(QueryString)是指在URL中以问号(?)开始的部分,用于向服务器传递参数。它由一个或多个键值对组成,每个键值对之间用&符号分隔。例如,在以下URL中,查询字符串是?page=2&category=books:在django种如
  • 2024-03-0509django
    作业#1.用户名动态校验<p>username:<inputtype="text"id="i1"><spanstyle="color:red"id="error"></span></p><script>//这个功能可以使用前端代码完成但是安全性不高最好还是经过后端(前端的校验是弱不禁风的!!!)
  • 2024-02-26django如何将视图的数据表下载下来?(包括数据过滤)
    思路关键:django的视图本身返回的是json数据,而pandas本身就可以对json数据形成excel输出。所以,现在的关键是如何拿到需要的json数据?突破点:filterset还是serializers,都是可以支持手动使用的。defgenerate_queryset_excel(queryset,filterset_cls,serializer_cls,request=None
  • 2024-01-25queryset必知必会13条
    queryset必知必会13条<1>all():查询所有结果<2>filter(**kwargs):它包含了与所给筛选条件相匹配的对象<3>get(**kwargs):返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。<4>exclude(**kwargs):它包含了与所
  • 2024-01-14博客后台接口分页优化-访问记录篇
    博客后台接口优化-访问记录
  • 2024-01-07Django quertset、set的序列化
    一、几种序列化importjson#序列化querysetdefxuliehuaQueryset(request):querylist=models.LsTable.objects.all()querylist_json=serializers.serialize("json",querylist)returnHttpResponse(querylist_json)#序列化setdefxuliehuaQueryset(
  • 2023-12-28der 入门-精通 09days
    排序排序快速使用(GenericAPIView)1.只有查询所有需要排序2.如何使用1必须是继承GenericAPIView及其子类2在类中配置类属性filter_backends=[OrderingFilter]3类中写属性ordering_fields=['price','id']#必须表的字段4
  • 2023-12-26源代码下的关系
    get请求获取多个数据defget(self,request):user_gs=models.User.objects.all()user_set=UserSerializer(instance=user_gs,many=True)returnResponse(user_set.data)viewsAPIViewpost请求添加数据get请求获取单个数据defpost(self,request):user_set=UserSerializer(
  • 2023-11-28查询表记录API
    <1>all():查询所有结果<2>filter(**kwargs):它包含了与所给筛选条件相匹配的对象<3>get(**kwargs):返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。<4>exclude(**kwargs):它包含了与所给筛
  • 2023-11-27django-单表操作
    一、常用字段和非常用字段#常用字段-IntegerField整数-AutoField自增字段-BooleanFieldbool类型-CharField字符串类型-DateField日期字段,日期格式 YYYY-MM-DD,相当于Python中的datetime.date()实例。-DateTimeField日期时间字段,格
  • 2023-11-27Django - 多条queryset合并,并排序
     fromitertoolsimportchainfromoperatorimportattrgetter#拿到多条querysetqueryset1=model.objects.filter(status=1).all()queryset2=model.objects.filter(status=2).all()#将上面两组查询结果合并,并设置排序方式:-create_timenew_queryset=sorted
  • 2023-11-22django查询中如何进行查询优化
    一.性能方面1.connection.queries>>>fromdjango.dbimportconnection>>>connection.queries[{'sql':'SELECTpolls_polls.id,polls_polls.question,polls_polls.pub_dateFROMpolls_polls','time':'0.002
  • 2023-11-15Django查看orm内部封装的sql语句的2种形式
    第一种:QuerySet.queryuser_queryset=models.User.objects.values_list('name','age')print(user_queryset.query)结果:SELECT`app01_user`.`name`,`app01_user`.`age`FROM`app01_user` 第二种:执行脚本时打印日志显示到终端将以下代码复制进入settings文件中
  • 2023-11-07Django动态创建表模型,并使用drf
    序列化器fromrest_frameworkimportserializersclassMySerializer(serializers.ModelSerializer):"""序列化器"""classMeta:model=None#可以设置为None,动态生成之后,再通过反射来重新设置。fields='__all__'
  • 2023-10-19管理员管理
    创建数据库表models.pyclassAdmin(models.Model):"""管理员表"""username=models.CharField(verbose_name="用户名",max_length=32)password=models.CharField(verbose_name="密码",max_length=64)在数据库生成Tools
  • 2023-10-11django model 条件过滤 queryset.filter详细用法
    条件选取querySet的时候,filter表示=,exclude表示!=。querySet.distinct()去重复__exact精确等于like'aaa'__iexact精确等于忽略大小写ilike'aaa'__contains包含like'%aaa%'__icontains包含忽略大小写ilike'%aaa%',但是对于sqlite来说,contains的作用效果等同
  • 2023-09-12drf————源码分析
    drf————源码分析>认证源码分析权限源码分析频率类源码分析三大认证的源码分析之前读取的APIView的源码的执行流程中包装了新的request,执行了三大认证,执行视图类的方法,处理了全局异常查看源码的入口APIView的dispatch进入后在APIView的dispatch的496行上下self.
  • 2023-09-10drf - 过滤、排序、异常源码剖析、jwt
    过滤类的源码剖析1、为什么在视图类中配置了一个过滤类,就可以走? -filter_backends=[SearchFilter,MyFilter]2、前提条件是必须继承在视图类中继承GenericAPIView: 因为filter_backends是GenericAPIView的类属性。3、如果光继承了GenericAPIView还是不行,还需要再继承List