- 2024-10-05分页使用示例
1.代码classUserModelSerializer(serializers.ModelSerializer):role_display=UserRoleSerializer(many=True,source='roles',read_only=True)classMeta:model=models.Userfields=["id","username",
- 2024-10-01关于filter数据的用法
fromrest_framework.filtersimportBaseFilterBackendclassMenuFilterBackend(BaseFilterBackend):deffilter_queryset(self,request,queryset,view):ifrequest.method=="DELETE":returnquerysetfolder=reque
- 2024-08-016.三大认证等
【一】三大认证#认证self.perform_authentication(request)#权限self.check_permissions(request)#频率self.check_throttles(request)【二】认证1)使用新建一个py文件(authentication.py)写一个类继承BaseAuthentication重写authenticate函数fromrest_framew
- 2024-07-17使用Django框架实现音频上传功能
数据库设计(models.py)classMusic(models.Model):"""音乐"""name=models.CharField(verbose_name="音乐名字",max_length=32)singer=models.CharField(verbose_name="歌手",max_length=32)#本质上数据库也是Cha
- 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__'