开发的时候使用DRF做数据查询接口,将models交给序列化器出现了问题。

运行环境 Runtime environment

1
2
3
操作系统 : Ubuntu18.04
IDE: JetBrains pycharm 2019.2.4 x64
Python: 3.6

背景

开发的时候使用DRF做数据查询接口,将models交给序列化器出现了问题。 
数据明明存在数据且查询成功的情况下,经过序列化就为空字典。
而且无法通过is_valid验证,于是我就奇了怪。
经过对照自己以前开发的代码,发现自己忽略一些细节。
之前的开发的序列化器继承于ModelSerializer而非Serializer
Serializer是不支持直接fields = "__all__"的,不能自己直接映射models。

Serializer和ModelSerializer的区别

总结

程序开发切勿急躁呐。