0
点赞
收藏
分享

微信扫一扫

AssertionError: Cannot call `.is_valid()` as no `data=` keyword argument was passed when instantiati

晗韩不普通 2022-02-19 阅读 60

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请求没有校验

举报
0 条评论