首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

美多商城项目(五)

并且在查询出数据,返回结果之前,先将查询结果存到缓存,便于下次使用。 2.2使用缓存 在Django REST framework中使用缓存,可以通过 drf-extensions扩展来实现。...数据库表格一般都是DBA进行设计,我们不需要深入了解,所以此处不做过多阐述。 在用户模型类中有一个小点回顾一下: ordering 表示是表名在进行Address查询时,默认使用排序方式。...3.1设置默认地址 可以在用户地址模型添加一个标记 is_default,如果是默认地址,将标记改为True。...4.4.1镜像(image) 打包应用以及依赖包构成了一个docker镜像 镜像操作命令: 查看本地docker中有哪些镜像 docker image ls 拉取镜像本地docker docker...总结回顾 1.视图集对象action属性使用场景 重写getserializerclass和get_queryset,根据不同action操作,返回不同序列化器和不同查询

1.2K30
您找到你想要的搜索结果了吗?
是的
没有找到

Django REST Framework

,版本信息也可以放在HTTP协议 过滤信息,使用URL参数代表过滤 返回值: 每一个返回代码都有具体特定含义 返回格式:推荐固定具体格式 DjangoRestFramework(DRF) https...创建三个模型:Student,Teacher, ClassRoom 创建序列化器 创建视图聚合 序列化 序列化: 把系统运行一些实例等转换成一种可直接表示出来格式,用来保存,传输等 反序列化序列化反操作序列化...- 支持属性 - queryset:查询结果 - serializer_class: 视图使用序列化器 - panination_class...: 分页控制器 - filter_backends: 过滤器后端 - lookup_field:查询条件字段,默认为pk - get_queryset: 返回查询结果集合...ViewSet 把一系列操作打包放入一个 list:GET retrieve:GET + id destroy:DELETE update:UPDATE create:POST

2.1K63

重点内容回顾-DRF

重点内容回顾-DRF 1. on_delete on_delete是定义模型类中外键一个选项。 on_delete选项指明是主表删除数据时候,对于外键引用表数据如何处理。...5.3序列化&反序列化 下面从我们最近推文项目来简单理解两个概念。 序列化:将模型对象转换为字典或者json数据过程。 反序列化:将前端传递数据保存到模型对象过程。...class 序列化器类名(serializers.Serializer): # 字段名 = serializer.字段类型(选项参数) 如果我们想要使用序列化器对应是Django模型类,那么可以继承自...serializers.ModelSerializer,它会依据模型字段自动生成序列化器类字段,而且已经实现了create和update代码。...数据库查询 属性: queryset(指定视图所使用查询) 方法: get_queryset返回视图所使用查询 get_object从视图所使用查询集中查询指定对象,默认根据pk进行查询

2.4K20

DRF框架学习(二)

2.明确RestAPI接口实现时主要工作 2.1序列化&反序列化程序数据结构类型转换为其他格式数据,这个过程叫做序列化过程 例:将模型类对象转换为字典或者json数据过程,就叫做序列化过程...把其他格式数据转换为程序数据结构类型,这个过程叫做反序列化过程。 例:将前端传递数据保存到模型对象过程,叫做反序列化过程。...__' model 指明该序列化器处理数据字段模型类BookInfo参考生成 fields 指明该序列化器包含模型哪些字段,’all‘指明包含所有字段 3.2.2....ModelViewSet): queryset = BookInfo.objects.all() serializer_class = BookInfoSerializer queryset 指明该视图集在查询数据时使用查询...4.7模型序列化ModelSerializer 如果我们想要使用序列化器对应是Django模型类,DRF为我们提供了ModelSerializer模型序列化器来帮助我们快速创建一个Serializer

4.1K30

安装 Django REST Framework

在项目的settings.py文件添加DRFINSTALLED_APPS。cssCopy codeINSTALLED_APPS = [ ......'rest_framework',]这将允许您使用DRF所有功能。现在您已经安装了DRF,接下来我们将介绍一些基本用法和示例。创建序列化序列化器是DRF一个核心概念。...下面是一个简单序列化器示例,用于将DjangoUser模型序列化为JSON格式:from rest_framework import serializersfrom django.contrib.auth.models...我们指定了User模型作为序列化元数据,并指定了我们想要在JSON包含字段。创建视图视图是DRF一个核心概念。它们定义了API行为,即如何响应请求、如何验证输入等。...我们指定了我们想要返回所有用户查询,并指定了用于序列化数据序列化器。创建路由路由是将URL映射到视图一种机制。在DRF,我们可以使用DjangoURLConf和DRF路由器来定义路由。

1.5K20

第 9 篇:实现分类、标签、归档日期接口

而这个接口中只需要序列化一个时间字段(类型为 Python 标准库 datetime.date),所以没必要单独定义一个序列化器了,直接拿 django-rest-framework 提供用于序列化时间类型...定义过滤规则来过滤查询结果。...category,tags 两个过滤字段因为是 Post 模型定义字段,因此 django-filter 可以自动推断其过滤规则,只需要在 Meta.fields 声明即可。...由于这两个字段在 Post 没有定义,Post 记录时间字段为 created_time,因此我们需要显示地定义查询规则,定义规则是: 查询参数名 = 查询参数值类型(查询模型字段查询表达式...) 例如示例定义 created_year 查询参数,查询参数值类型为 number,即数字,查询模型字段为 created_time,查询表达式是 year。

2.6K30

【愚公系列】2022年04月 Python教学课程 70-DRF框架之视图集

GenericViewSet 二、扩展视图集 1.ModelViewSet 2.ReadOnlyModelViewSet 三、用法补充 1.扩展方法使用 前言 使用视图集ViewSet,可以将一系列逻辑相关动作放到一个...(books, many=True) # 使用序列化器对象data方法获取序列化结果 data = ser.data # 3、返回所有对象字段内容...self.get_queryset() 获取queryset属性所有数据 books = self.get_queryset() # 2、提取所有对象字段内容..."""经过上面的处理,我们就已经把所有视图方法写在一个类中了,但是继承父类有点多 所以,drf里面提供了模型视图集[ModelViewSet],可以一次性提供5个api接口方法 最后,def还提供了只读模型视图集...,我们还可以通过重写get_serializer或者get_queryset对 同一个指定视图采用不同queryset或者不同序列化器 """ def get_queryset

1.6K30

【愚公系列】2022年04月 Python教学课程 67-DRF框架之GenericAPIView

queryset:应用于从此视图返回对象查询。通常,必须设置此属性或重写该方法。如果要重写视图方法,请务必调用而不是直接访问此属性,因为将评估一次,并且这些结果将缓存用于所有后续请求。...serializer_class:应用于验证和反序列化输入以及序列化输出序列化程序类。通常,必须设置此属性或重写该方法。 lookup_field:应用于执行各个模型实例对象查找模型字段。...请注意,使用超链接 API时,如果需要使用自定义值,则需要确保 API 视图和序列化程序类都设置了查找字段。 lookup_url_kwarg:应用于对象查找 URL 关键字参数。...self.get_queryset() 获取queryset属性所有数据 books = self.get_queryset() # 2、提取所有对象字段内容...(books, many=True) # 使用序列化器对象data方法获取序列化结果 data = ser.data # 3、返回所有对象字段内容

36120

Flask框架在Python面试应用与实战

Django REST framework (DRF) 是一个强大而灵活工具包,用于构建Web API,特别是基于Django应用程序。...一、常见面试问题核心组件与工作流程视图(Views):解释视图在DRF作用,介绍基于类视图(ViewSet、GenericViewSet)与视图集(ViewSets)概念,以及如何关联URL。...序列化器(Serializers):阐述序列化器如何定义数据结构、验证与序列化/反序列化数据,以及关联模型(ModelSerializer)使用。...排序(Sorting):讲解如何启用排序功能,允许客户端通过查询参数指定排序字段。...二、易错点与避免策略序列化器验证遗漏:确保在序列化充分定义验证规则,使用validate_方法对关联字段、自定义逻辑进行验证,防止脏数据进入数据库。

10610

DRF入门

drf介绍 Django REST framework (简称:DRF)是一个强大而灵活 Web API 工具。 遵循RESTFullAPI风格,功能完善,可快速开发API平台。...DRF序列化DRF中有一个serializers模块专门负责数据序列化DRF提供方案更先进、更高级别的序列化方案。...序列化器支持三种类型: **Serializer:**对Model(数据模型)进行序列化,需自定义字段映射。...序列化器: 序列化器参数 序列化器工作流程: 序列化(读数据:视图里通过ORM从数据库获取数据查询对象 -> 数据传入序列化器-> 序列化器将数据进行序列化 -> 调用序列化.data获取数据...局部钩子:validate_字段名(self, 字段值) 全局钩子:validate(self, 所有校验数据字典)

1.6K50

Django&DRF重点内容大盘点

Django&DRF重点内容大盘点 本文只是将学习过程需要深刻记忆,在工作中常用一些命令或者知识点进行一个罗列并阐释,不会全面的将所有内容进行讲解。...1.3一个程序注意点 1.3.1视图函数定义 1)定义视图函数之后,要有一个request形参接收请求对象。...filter, exclude参数可以写查询条件 格式: 属性名__条件名=值 注意:可以写多个查询条件,默认是且关系 F对象 用于查询字段之间比较 from django.db.models...使用 1)在配置文件设置配置项MEDIA_ROOT='上传文件保存目录' 2)定义模型类时,图片字段类型使用 ImageField 3)迁移生成表并在admin.py注册模型类,直接登录Admin...1.将数据库数据序列化为前端所需要格式,并返回 2.将前端发送数据反序列化模型类对象,并保存到数据库 2.4DRF框架 2.4.1作用:大大提高RestAPI接口开发效率 2.5序列化器Serializer

5.9K20

第 11 篇:基于 drf-haystack 文章搜索接口

所以接下来就进入 django-rest-framework 标准开发流程:定义序列化器 -> 编写视图 -> 配置路由,这样一个标准搜索接口就开发出来了。...自定义序列化字段其实非常简单,基本流程分两步走: 从 drf 官方提供序列化字段一个数据类型最为接近作为父类。 重写 to_representation 方法,加入自己序列化逻辑。...对象,这个对象就是视图中 HTTP 请求对象,但是因为 django request 对象无法像 flask 那样从全局获取,因此 drf 在视图中将其保存在了序列化器和序列化字段 context...属性以便在视图外访问;获取 request 对象目的是希望获取查询关键字,query_params 属性是一个类字典对象,用于记录来自 URL 查询参数,例如我们之前测试查询功能时调用 URL...text=markdown,所以 query_params 保存了 URL 查询参数,将其封装为一个字段对象 {"text": "markdown"},这里 text 值就是查询关键字,我们将它传给

1.6K20

Django REST Framework-序列化和反序列化

在Django REST Framework(DRF序列化和反序列化是将Django模型转换为序列化格式,以便我们可以将其发送到前端应用程序并从前端应用程序接收数据过程。...序列化是将Django模型转换为序列化格式过程,例如JSON、XML或YAML。这使得我们可以将Django模型发送到前端应用程序,以便用户可以查看和操作这些数据。...在DRF,我们使用序列化器类来定义序列化器,可以使用DRF提供Serializer或ModelSerializer类,具体取决于我们是否要序列化Django模型。...我们使用Meta类指定要序列化模型以及要包含在序列化字段。使用'all'选项,我们可以将所有模型字段包含在序列化。...反序列化是将序列化格式数据转换为Django模型过程,以便我们可以将数据保存到数据库。在DRF,我们使用序列化器类from_data()方法来执行反序列化

71921
领券