我是靠谱客的博主 潇洒小鸭子,最近开发中收集的这篇文章主要介绍AssertionError: Cannot call `.is_valid()` as no `data=` keyword argument was passed when instantiati1. 报错信息2. 报错环境3. 报错原因4. 解决办法5. ps,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1. 报错信息
AssertionError: Cannot call `.is_valid()` as no `data=` keyword argument was passed when instantiating the serializer instance.
2. 报错环境
a. django2.2
b.drf
c. 视图继承了APIView
3. 报错原因
在使用序列化器的时候,对于get请求,使用了,下列方法进行校验
if text.is_valid():
b.反序列化的时候才有校验,序列化的时候没有校验,
c, 也就是说,序列化器只有在反序列化的时候,才有校验功能
4. 解决办法
a. 如果想对其校验,换成post即可
b. 一定要用get请求进行校验的话,那就不要用序列化器了,直接在视图进行校验
5. ps
也有可能是你的data写成了instance,这个写错的话,也会报这个错,
原因还是跟上面一样,instance是get请求的,get请求没有校验
最后
以上就是潇洒小鸭子为你收集整理的AssertionError: Cannot call `.is_valid()` as no `data=` keyword argument was passed when instantiati1. 报错信息2. 报错环境3. 报错原因4. 解决办法5. ps的全部内容,希望文章能够帮你解决AssertionError: Cannot call `.is_valid()` as no `data=` keyword argument was passed when instantiati1. 报错信息2. 报错环境3. 报错原因4. 解决办法5. ps所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复