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

博客将 Django 1.11+ 升级到 Django 2.2+ 遇到问题及规避方法

之前就有人一直催我把博客 Django 升级到 Django 2.0 以上,但是我一直懒得升级,因为我早就看过 Django 2.x 版本和 1.11.x 版本,其实没有太多不同,所以没有找到需要升级必要...' 报错原因其实一看就能知道,这个地方是说关于一些模型在一对一关联和一对多关联(外键)时候需要指定 on_delete 参数才行,多对多没有这个设置。...以下是主要几个设置项意义: on_delete=models.CASCADE, # 删除关联数据,关联也删除 on_delete=models.DO_NOTHING, # 删除关联数据...,什么也不做 on_delete=models.PROTECT, # 删除关联数据,引发错误ProtectedError on_delete=models.SET_NULL, # 删除关联数据...,关联值设置为null(前提该字段需要设置为可空,一对一同理) on_delete=models.SET_DEFAULT, # 删除关联数据,关联值设置为默认值(前提FK字段需要设置默认值,

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

Django-DRF多年积累md笔记 0基础高高手. 第(2)期:django RESTful设计方法

本文从分析现在流行前后端分离Web应用模式说起,然后介绍如何设计REST API,通过使用Django来实现一个REST API为例,明确后端开发REST API要做最核心工作,然后介绍Django...Django REST framework能帮助我们简化开发REST API工作。...400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出请求错误,服务器没有进行新建或修改数据操作401 Unauthorized - [*]:表示用户没有权限(令牌...403 Forbidden - [*] 表示用户得到授权(401错误相对),但是访问是被禁止。...404 NOT FOUND - [*]:用户发出请求针对是不存在记录,服务器没有进行操作,该操作是幂等

22320

构建强大API-DjangoREST框架探究实践

Django REST框架允许我们根据客户端请求格式,动态地选择响应格式。...数据验证错误处理在API开发中,数据验证和错误处理是至关重要部分。Django REST框架提供了强大数据验证机制和错误处理功能,让我们能够轻松地处理各种情况。...文件上传存储在许多应用程序中,文件上传和存储是常见需求。Django REST框架提供了简单而强大文件上传和存储功能,使我们能够轻松地处理文件上传和管理。...缓存缓存优化在处理大量请求时,有效地利用缓存可以显著提高API性能和响应速度。...随后,我们深入探讨了各种高级功能和技术,如版本控制、身份验证授权、文件上传存储、定制化API响应与错误处理、缓存缓存优化以及API文档测试等。

30820

Python进阶39-drf框架(一)

) PATCH :在服务器更新资源(客户端提供改变属性DELETE :从服务器删除资源 过滤,通过在url上传参形式传递搜索条件 https://api.example.com/v1/zoos...400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出请求错误,服务器没有进行新建或修改数据操作,该操作是幂等。...401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。 403 Forbidden - [*] 表示用户得到授权(401错误相对),但是访问是被禁止。...404 NOT FOUND - [*]:用户发出请求针对是不存在记录,服务器没有进行操作,该操作是幂等。...# 自己视图类属性(局部配置) => # APIView类属性设置 => # 自己配置文件DEFAULT_RENDERER_CLASSES(全局配置) => # drf

4K30

DjangoRESTframework(补充)

验证失败,可以通过序列化器对象 errors 属性获取错误信息,返回一个字典, 包含字段和字段错误,若是非字段错误,可以通过修改 REST framework 配置中 NON_FIElD_ERRORS_KEY...1) .data –>类似 Django request.POST 包含了解析之后文件和非文件数据 包含了对POST、PUT、PATCH请求方式解析后数据 利用了REST framework...APIViewView不同之处在于: 传入到视图方法中REST frameworkRequest对象,而不是DjangoHttpRequeset对象; 视图方法可以返回REST framework...视图集只在使用as_view()方法时候,才会将action动作具体请求方式对应上。...P\d+)/$', BookInfoViewSet.as_view({'get': 'retrieve'}) ] action属性 在视图集中,我们可以通过action对象属性来获取当前请求视图集时

2.2K30

Django Rest Framewor

什么是RESTful REST技术无关,代表是一种软件架构风格,REST是Representational State Transfer简称,中文翻译为“表征状态转移” REST从资源角度类审视整个网络...REST区别与其他架构风格最本质属性 对于REST这种面向资源架构风格,有人提出一种全新结构理念,即:面向资源架构(ROA:Resource Oriented Architecture) RESTful...400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出请求错误,服务器没有进行新建或修改数据操作,该操作是幂等。...401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。 403 Forbidden - [*] 表示用户得到授权(401错误相对),但是访问是被禁止。...404 NOT FOUND - [*]:用户发出请求针对是不存在记录,服务器没有进行操作,该操作是幂等

1.3K20

DjangoRestFramework,restful规范、APIview、解析器组件、Postman等

REST技术无关,代表是一种软件架构风格,REST是Representational State Transfer简称,中文翻译为“表征状态转移”     REST从资源角度类审视整个网络,它将分布在网络中某个节点资源通过...他和put用哪个都可以,没有太大区别,我们用put方式偏多 DELETEDELETE):从服务器删除资源。       还有两个不常用HTTP动词。 HEAD:获取资源元数据。...401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。 403 Forbidden - [*] 表示用户得到授权(401错误相对),但是访问是被禁止。...HATEOAS 格式没有统一规定,上面例子中,GitHub 将它们与其他属性放在一起。更好做法应该是,将相关链接与其他属性分开。...但是django没有内置自动解开json数据类型方法,那么只能去request.body里面拿原始bytes类型数据,然后自己解,其实很简单,但是django没有,可能是早先没有考虑到。

2.5K20

DjangoAutoField字段使用

,下面介绍on_delete参数值: on_delete=models.CASCADE:删除关联数据,关联也删除 on_delete=models.DO_NOTHING:删除关联数据,引发错误IntegrityError...on_delete=models.PROTECT:删除关联数据,引发错误ProtectedError on_delete=models.SET_NULL:删除关联数据,关联值设置为null(前提...FK字段需要设置为可空) on_delete=models.SET_DEFAULT:删除关联数据,关联值设置为默认值(前提FK字段需要设置默认值) on_delete=models.SET:删除关联数据...: a、关联值设置为指定值,设置:models.SET(值) b、关联值设置为可执行对象返回值,设置:models.SET(可执行对象) 5、db_constraint:是否在数据库中创建外键约束...,默认为True,db_constraint一般使用在建立数据表连接关系当中(例如创建外键),如果使用False,则是限制了表之间没有关联,达到了软连接效果 五、元信息 ORM对应类里面包含另一个Meta

6.3K20

【愚公系列】2022年04月 Python教学课程 64-DRF框架序列化器

文章目录 一、DRF框架序列化器使用 1.设置新环境 2.创建新项目 3.创建模型类 4.创建序列化程序类 5.使用序列化程序 6.使用模型序列化程序 7.使用我们序列化程序编写常规 Django...我们可以通过声明Django形式非常相似的序列化程序来做到这一点。在名为目录中创建一个文件,然后添加以下内容。...这不是你通常想要做事情,REST框架视图实际上使用比这更明智行为,但它现在会满足我们目的。 我们还需要一个单个代码段相对应视图,该视图可用于检索、更新或删除代码段。..., ] 值得注意是,我们目前没有正确处理一些边缘情况。...如果我们发送格式错误 ,或者如果使用视图无法处理方法发出请求,那么我们最终会得到500个“服务器错误”响应。

77010

Django-DRF】多年md笔记第5篇:Django-DRFRequest、Response和视图详解

本文从分析现在流行前后端分离Web应用模式说起,然后介绍如何设计REST API,通过使用Django来实现一个REST API为例,明确后端开发REST API要做最核心工作,然后介绍Django...类似于Django中标准request.POST和 request.FILES属性,但提供如下特性:包含了解析之后文件和非文件数据包含了对POST、PUT、PATCH请求方式解析后数据利用了REST...视图继承关系:视图方法属性:视图说明1....APIViewView不同之处在于:传入到视图方法中REST frameworkRequest对象,而不是DjangoHttpRequeset对象;视图方法可以返回REST framework...* **request** 当前视图请求对象​ * **view** 当前请求类视图对象​ * format 当前请求期望返回数据格式提供关于数据库查询属性方法属性:queryset 指明使用数据查询集方法

17410

Python进阶40-drf框架(二)

获取处理异常句柄(方法) # 一层层看源码,走是配置文件,拿到rest_framework.viewsexception_handler # 自定义:直接写exception_handler...需要先创建一个serializer.py文件,当然文件名可以自定义,models文件在同一级即可 # 序列化组件,为每一个model类,提供一套序列化工具类 from rest_framework...serializer.py # 序列化组件 - 为每一个model类通过一套序列化工具类 # 序列化组件工作方式django froms组件非常相似 from rest_framework import...() # 自定义序列化属性 # 属性名随意,值由固定命名规范方法提供: # get_属性名(self, 参与序列化model对象) # 返回值就是自定义序列化属性值...数据筛选, # 1)将pks中没有对应数据pk数据已删除pk移除,request_data对应索引位上数据也移除 # 2)将合理pks转换为 objs

1.9K20

drf之请求、响应、视图

作者&好友:Laoqi 1、请求响应 1.1 Request(请求) drf 传入视图request 不再是Django默认HttpRequest对象,而是drf 提供拓展了HttpRequest...类似于Django中标准request.POST和 request.FILES属性,但提供如下特性: 1 包含了解析之后文件和非文件数据 2 包含了对POST、PUT、PATCH请求方式解析后数据...3 利用了REST frameworkparsers解析器,不仅支持表单类型数据,也支持JSON数据 .query_params request.query_paramsDjango标准...APIViewView不同之处在于: 传入到视图方法中REST frameworkRequest对象,而不是DjangoHttpRequeset对象; 视图方法可以返回REST framework...-request 当前视图请求对象 -view 当前请求类视图对象 -format 当前请求期望返回数据格式 提供关于数据库查询属性方法 属性:queryset  指明使用数据查询集

2.1K20

Django&DRF重点内容大盘点

(了解即可) 1.6.5request对象属性 request请求对象属性 说明 GET 查询字符串参数 POST 请求体重表单数据 body 请求体中原始bytes数据 method 请求方式...path 请求url路径 META 请求头 COOKIES 客户端发送cookie信息 FILES 客户端上传文件 1.7相应对象构造 1.7.1响应时返回json数据 def get_json...import F Q对象 用于查询时条件之间逻辑关系 from django.db.models import Q &() |(或) ~(非) 聚合 聚合类: from...地址采用不同请求方式执行不同操作 GET(获取) POST(新增) PUT(修改) DELETE(删除) 3)过滤参数可以放在查询字符串中 4)响应数据返回&响应状态码 状态码 说明 200 获取或修改成功...201 新增成功 204 删除成功 404 资源不存在 400 客户请求有误 500 服务器错误 5)响应数据格式:json 2.3django自定义RestAPI接口 RestAPI接口核心工作

5.9K20

DjangoRestFramework,序列化组件、视图组件

这里面我们可以发送不同类型请求,看到对应返回数据,类似于Postman,但是没有Postman好用,所以以后调试我们还是用Postman工具,但是我们知道一下昂。   ...max_length:文件名最大长度; allow_empty_file:是否允许为空文件; 7.ImageField 对应models.ImageField,代表一个图片,负责校验图片格式是否正确。...max_length:图片名最大长度; allow_empty_file:是否允许为空文件; 如果要进行图片处理,推荐安装Pillow: pip install Pillow 8.HiddenField...字段值给这值) 设置字段值 类似default 通常这个值有外键关联属性可以用source设置 13.validators 验证该字段跟 单独validate很像 UniqueValidator...但是你看,我们上面只是写了一个publish表操作,咱们还有好多其他表呢,他们操作是不是也是GET、POST、DELETE、PUT等操作啊,所以你想想有没有优化地方 ###############

2.6K20
领券