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

重点内容回顾-DRF

重点内容回顾-DRF 1. on_delete on_delete是定义模型类中外的一个选项。 on_delete选项指明的是主表删除数据的时候,对于引用的表数据如何处理。...b.PROTECT保护,通过抛出一个异常ProtectedError异常,来阻止删除主表中被引用的数据。...c.SET_NULL设置为 NULL,代表的是主表删除数据的时候,将关联的表数据设置为NULL。仅仅在该字段null=True,允许为null时可用。...2. related_name related_name是在定义模型类时,的一个选项。它的功能下面慢慢给大家分析一下。...序列化:将模型对象转换为字典或者json数据的过程。 反序列化:将前端传递的数据保存模型对象的过程。 5.4序列化器Serializer 5.4.1功能 进行数据的序列化反序列化。

2.4K20

MySQL 常见的面试题及其答案

5、什么是是一种用于建立两个表之间关联的字段。通常指向另一个表的主键。 6、什么是索引? 索引是一种用于加速查询的数据结构。它可以使得数据库在查找数据时更快地定位到需要的数据。...在事务执行一系列SQL语句,包括INSERT,UPDATEDELETE等操作。 使用COMMIT语句提交事务,将更改保存数据。...23、如何在MySQL实现约束? MySQL实现约束可以使用FOREIGN KEY约束。...当使用约束时,必须使用InnoDB存储引擎。 约束可以保证数据完整性,避免数据丢失或不一致。 如果试图删除具有关联记录的主键,则会拒绝删除操作。...在MySQL,事务用于保证数据库的数据一致性完整性。如果一组操作的任何一个操作失败,则整个事务将被回滚,所有更改都将被撤销。如果所有操作都成功,则事务将提交,所有更改将永久保存数据

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

Django&DRF重点内容大盘点

, verbose_name='图书') # cascade是级联,删除主表数据时连同数据一起删除 1.12.3迁移生成表 1)生成迁移文件 python manage.py makemigrations...2)同步到数据 python manage.py migrate 1.12.4通过模型对象进行数据库操作(增删改查) 新增: 创建模型类对象-->对象.save() 模型类.objects.create...多对象.属性 例:hero.hbook 2....使用 1)在配置文件设置配置项MEDIA_ROOT='上传文件的保存目录' 2)定义模型类时,图片字段的类型使用 ImageField 3)迁移生成表并在admin.py注册模型类,直接登录Admin...1.将数据数据序列化为前端所需要的格式,并返回 2.将前端发送的数据反序列化为模型类对象,并保存数据 2.4DRF框架 2.4.1作用:大大提高RestAPI接口开发效率 2.5序列化器Serializer

5.9K20

DRF框架学习(二)

把其他格式的数据转换为程序数据结构类型,这个过程叫做反序列化的过程。 例:将前端传递的数据保存模型对象的过程,叫做反序列化过程。...2.2RestAPI接口核心的工作: 把数据数据序列化为前端所需要的格式,并返回。 把前端发送的数据反序列化为模型类对象,并保存数据。...django的路由列表 4.Serializer序列化器 作用:进行数据的序列化反序列化 序列化:把对象转换为字典 反序列化:数据校验;数据保存(可以利用这一点实现新增更新); 4.1使用 定义一个序列化器类...,将要被反序列化的数据传入data参数 3)除了instancedata参数,在构造Serializer对象时,还可通过context参数额外添加数据 serializer = AccountSerializer...= BookInfoSerializer(data=data)的data的完整内容。

4.1K30

drf框架serializersModelSerializer类简化序列化反序列化操作

0905自我总结 drf框架serializersModelSerializer类 基于seriallizer类进行简化 https://www.cnblogs.com/pythonywy/p/11455508...): class Meta: model=对应的模型 fields=('参与序列化反序列的字段1','参与序列化反序列的字段2') #fields...='__all__' 为所有字段 # exclude = ('id', 'is_delete') # 刨除某些字段 # depth = 1 # 跨表自动深度(展示表的所有字段...) 注意点 其中fields与exclude不能共存 depth不能控制显示字段,与相关的表会全部显示出来 二.利用模型的方法进行指导字典的生成 例如有两个模型A与B,他们的c字段有关联 modles.py...read_only': True #只读 } } 五.视图层使用 数据没有修改 class BookAPIView(APIView): def get

1.4K20

ASP.NET MVC5高级编程——(3)MVC模式的模型

首先数据主外的定义: 主键 定义: 唯一标识一条记录,不能有重复的,不允许为空 表的是另一表的主键, 可以有重复的, 可以是空值 作用: 用来保证数据完整性 用来其他表建立联系用的...而称ArtistID属性为属性(foreign key),因为与模型对应的数据,专辑表(Album)艺术家(Artist)表存在对应的关系,即ArtistID是Album表的!...EF是一个对象关系映射(object-relational mapping,ORM)框架,它不但知道如何在关系型数据库中保存.NET对象,而且还可以利用LINQ查询语句检索那些保存在关系型数据的.net...可以把Db的Set想象成一个特殊的、可以感知数据的泛型列表,它知道如何在父上下文中加载保存数据。...在视图中使用DropDownList辅助方法,Edit的两行代码就是为了构建从数据库中所有可得到的流派艺术家的列表,并将这些列表存储在ViewBag以方便以后让DropDownList辅助方法检索

4.7K40

Django REST Framework-信号

DRF的信号是基于Python标准库的signal模块实现的。DRF的信号通常用于以下情况:在对象创建、保存、删除等事件发生时执行某些操作。...在请求处理过程的某些特定时间点执行某些操作,请求前、请求后、异常处理等。DRF提供了多个信号,可以通过导入django.dispatch.Signal来访问这些信号。...三、信号的使用方法DRF信号的使用方法与Django信号的使用方法类似。我们可以使用@receiver装饰器将函数注册为信号处理器,以便在信号发出时执行该函数。...以下是一个简单的示例,演示如何在对象保存时执行某些操作:from django.db.models.signals import post_savefrom django.dispatch import...当MyModel对象被保存时,do_something函数将被调用。我们可以在do_something函数执行任何自定义的代码,发送电子邮件、调用外部API等。

7.2K101

美多商城项目(五)

并且在查询出数据,返回结果之前,先将查询的结果存到缓存,便于下次使用。 2.2使用缓存 在Django REST framework中使用缓存,可以通过 drf-extensions扩展来实现。...我们想把缓存数据保存在redis,且设置有效期,可以通过在配置文件定义的方式来实现。...3.获取参数并进行校验(参数完整性,手机号格式,邮箱格式)。 4.创建并保存新增地址数据。 5.将新增地址数据序列化并返回。 写代码之前,先定义地址的序列化器类。...除了instancedata参数,在构造Serializer对象时,还可通过context参数额外添加数据 serializer = AccountSerializer(account, context...团队开发注意事项 浅谈密码加密 Django框架的英文单词 Django数据库的相关操作 DRF框架的英文单词 重点内容回顾-DRF

1.2K30

活字格性能优化技巧(1)——如何利用数据库主键提升访问性能

备注:在执行数据库指令时并没有使用活字格,而是直接在数据执行。 到底是因为什么原因导致应用访问效率这么低?在解开谜底之前,先给大家说明几个简单的概念。数据库的主键、数据库索引。...数据库主键:指的是一个列或多列的组合,其值能唯一地标识表的每一行,通过它可以强制表的实体完整性。主键主要是用与其他表的关联,以及本记录的修改与删除。...除了能够保证实体的完整性,主键还能加速数据库的操作速度。 数据是用于建立和加强两个表数据之间链接的一列或多列。通过将保存主键值的一列或多列添加到另一个表,可创建两个表之间的链接。...当你想其他房间的人建立关联关系时,会找一个双方都认可的人,作为联系人,这个人就是。...在实际使用的过程中大家要主要:数据库的每张表只能有一个主键,不可能有多个主键;主键的主要作用是保证数据的唯一性完整性,同时通过主键检索表能够增加检索速度。 我们来一起看看如何在活字格中使用主键。

1K20

python技术面试题(二十三)

3.查询脚本定时任务的命名是: crontab -l 4.screen命令,创建新会话使用: screen -S vim test 若要终止会话,先退出 vim ,然后使用快捷 ctrl...raw() 方法 模型.objects.raw(SQL 语句) 返回的是一个 RawQuerySet 2.APIView View 的区别?...再比如 request.query_params保存解析之后的查询字符串的数据,并且已经解析成了字典或者类字典,相当于 Django 原始 request 对象的 request.GET。...下一步就是创建索引类,来指明让搜索引擎对哪些字段建立索引,也就是可以通过哪些字段的关键字来检索数据。在 REST framework,索引类的字段会作为查询结果返回数据的来源。...Django数据库的相关操作 DRF框架的英文单词 DRF框架 Django相关知识点回顾 python技术面试题-腾讯

1.1K10

django restframework serializer 增加自定义字段操作

使用django restframework serializer 序列化在django定义的model时,有时候我们需要额外在serializer增加一些model没有的字段。...假设现在有一个Animal模型,其中有name, type, country字段,country为。我们在序列化Animal时,需要额外增加country的area信息。...(因为表中含有多对多字段),如何验证所有字段,并保存完整数据到各表。...问题的突破点到底在哪里呢,在drf serializer 官方文档中就有一个知识点,serializer.save(**kwargs),kwargs数据被绑定在serializer.validated_data...field_name') validated_data = validated_data instance = Model.objects.create(**validated_data) # ...表的操作

3.4K40

DRF多对多ManytoMany字段的更新和添加

背景:drf的序列化器给模型输出带来了便利但是对于多对多字段网上查询的内容却是很少(也有可能是本人不会搜答案)经过我多个日夜的摸索,终于实现了我的需求,现将自己的心得记录一下说下我的需求:定义一个订单模型里面的订单...orderId 是自动生成的UUID订单的区域是,下单人也是,菜品orderMenu是一个多对多字段(其实通过我查到的方法说的都是字段就可以实现但是个人觉得菜品订单应该是多对多会比较好理解...in MenuSerializer(instance.orderMenu, many=True).data: # 实例Order的ordercenterthough_set查找表传入查找的字段并用...# 找到需要更新的那个中间表对应id i['order_id'] = serializer.instance.pk # 组建新的中间表数据传入序列化器...主要是一个思路,drf 的ModelSerializer ModelViewSet 封装的太严实了,通过这样的方法来更新和添加多对多字段实属自己技术不成熟。

68120

数据库系统原理——概述「建议收藏」

:通过约束从语法上,保证了本事物所关联的其他事物一定是存在的 事物事物的关系是通过来体现的 定义:如果一个表的若干个字段是来自另外若干个表的主键或唯一,则这若干个字段就是...表表之间的关系分类(假设有A表B表): 一对一 既可以把表A的主键充当表B的 也可以把表B的主键充当表A的 多对一 在多的一方添加 多对多...数据库软件 好处: 可将数据持久化到硬盘 可存储大量数据 方便检索 保证数据的一致性、完整性 安全,可共享 通过组合分析,可以产生新的数据 8....所有对象的定义,数据库、表、视图、索引、聚集、过程、函数、触发器 2. 数据库对象的逻辑空间与物理空间的对应关系,以及当前使用情况 3. 列的默认值 4. 完整性约束信息 5....DDL语句:首先将它翻译成内部表示,存储在系统的数据字典。关系型数据数据字典采用表的方式存储 2. DCL语句:DCL的定义部分,安全保密定义、存取权限定义、完整性约束 3.

1.5K40

MySQL的存储引擎

MySQL数据用各种不同的技术存储在文件(或者内存)。这些技术的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能能力。...引用完整性:通过DDL定义的,服务器需要强制保持关联数据库的引用完整性。 物理存储:它包括各种各样的事项,从表索引的总的页大小,到存储数据所需的格式,到物理磁盘。...InnoDB 将用户数据存储在聚集索引以减少基于主键的普通查询所带来的 I/O 开销。为了保证数据完整性,InnoDB 还支持约束。...你可以使用这种引擎创建表,但是你无法向其保存任何数据,也无法从它们检索任何索引。 ? 常用存储引擎及适用场景 InnoDB 用于事务处理应用程序,支持行级锁。...Memory 将所有的数据保存在内存,在需要快速定位记录其他类似数据的环境下,可以提供极快的访问。

1.8K20

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

作者:HelloGitHub-追梦人物 在 django 博客教程,我们使用了 django-haystack Elasticsearch 进行文章内容的搜索。...此时就要发挥开源社区的力量,去 GitHub 使用关键词 rest haystack 搜索,果然搜到一个 drf-haystack 开源项目,专门用于解决 django-rest-framework ...text=key-word 将 key-word 替换为需要搜索的关键字,例如将其替换为 markdown,测试集数据得到的搜索结果如下: 搜索结果符合预期,但略微有一点不太好的地方,就是没有高亮的标题摘要...自定义序列化字段其实非常的简单,基本流程分两步走: 从 drf 官方提供的序列化字段找一个数据类型最为接近的作为父类。 重写 to_representation 方法,加入自己的序列化逻辑。...对象,这个对象就是视图中的 HTTP 请求对象,但是因为 django request 对象无法像 flask 那样从全局获取,因此 drf 在视图中将其保存在了序列化器序列化字段的 context

1.6K20

GORM 使用指南

生态完善:GORM 作为一个成熟的 ORM 库,已经在 Go 生态系统建立了良好的地位,与其他常用的库框架( Gin、Echo 等)集成良好,能够为开发者提供更加完整的解决方案。...除了内置模型字段,我们还定义了 Name、Age、Email Address 字段,分别表示用户的姓名、年龄、邮箱地址。这些字段与数据库表的字段一一对应,用于存储用户的信息。...在 Order 结构体,我们使用了 UserID 字段作为,关联到了 User 结构体,通过 gorm:"foreignKey:UserID" 标签指定了关联的字段。...事务管理在数据库操作,事务是一组原子性操作,要么全部成功,要么全部失败。在 GORM ,可以使用事务来确保数据库操作的一致性完整性。...6.4 事务嵌套与保存点在 GORM ,可以使用嵌套事务保存点来处理复杂的事务逻辑。

29100

数据库面试题汇总

1、左连接右连接的区别? 含义不同;使用方法不同;运行空值不同。 1.含义不同 左连接:只要左边表中有记录,数据就能检索出来,而右边有的记录必要在左边表中有的记录才能被检索出来。...可以保持数据数据完整一致性 第五个方法:锁定表。由于在事务执行的过程数据库将会被锁定,因此其他的用户请求只能暂时等待直到该事务结束。有些情况下我们可以通过锁定表的放大来获得更好的性能。...第六个方法:使用。锁定表的方法可以保护数据完整性,但是却不能保证数据的关联性。此时我们可以使用。...常见的数据类型:网状模型、层次模型、关系模型 SQL Server是一种关系型数据库; 保证数据完整性:实体完整性、区域完整性、参照完整性 6、SQL Server数据的基本约束及其作用?...主键约束:确定表的标识列,必须是非空唯一,一个表只有一个主键; 唯一约束:确定这个字段的数据必须是唯一的,如果添加内容,内容不能重复; 约束:确定表与表之间的联系; 检查约束:确定这个字段数据特性

1.2K20

快速入门系列--TSQL-01基础概念

同时,关系模型通过约束规则将定义数据完整性作为模型的一部分。常见的有提供实体完整性的候选提供引用完整性的。...用于强制引用完整性,定义了关系的一个或多个属性引用另一关系的候选,此约束限定了引用关系的属性的值,应该出现在被引用关系的候选属性的值。...图 1数据生命周期     其中,数据仓库主要是为了支持数据检索需求进行的数据模型设计优化, 模型故意进行了冗余、减少表简化关系。...模型可以部署在Analysis ServicesPowerPivot上,前者针对BI专业人员,使用多维数据模型或表格,而后者针对企业用户,使用表格数据模型。...业务查询使用两种语言, 基于多维概念的多维表达式(MDX)基于表格概念的数据分析表达式(DAX)。数据访问层可以从不同的数据来源获取数据DW这样的关系型数据库、文件、云服务、Odata订阅等。

94480

django优雅的实现软删除,支持AdminDRF的软删除

何为软删除 当你想对数据进行删除的时候,如果使用物理删除,那么数据真的消失了。使用软删除,可以让数据保留,但是不会被真的删除。只是在字段上设置了一个值,表示数据已经被删除。...同样的,DRF对外操作的其他接口,查询,修改操作,就不允许找到已经软删除的数据。 自带的Admin 既然是超级管理后台,那么就允许操作任何数据,包括已经软删除的,而不是列表找不到软删除的数据。...简而言之: drf找不到删除的数据,admin需要全部数据 drfadmin删除数据都是软删除 解决方案 DRF Django Manager 赋予了 Django的模型(Model)操作数据库的能力...其实你在项目中无时不刻不在使用Manager,还记得objects吗?也就是:Book.objects.all()的objects。有没有想过它到底是什么?...由于我们已经在模型层通过Manager直接改变了最初的数据过滤后的样子,这里怎么重写也是无事于补的。 于是我在想,那就在定义一个模型管理器,在Admin中使用这个管理器不就好了?

2.1K40
领券