django rest framework的Serializer和ModelSerializer有什么区别?你什么时候做一个或另一个?我可以使用ModelSerializer进行Auth吗?非常感谢你的帮助。
slhcrj9b1#
Django rest framework serializer是在使用Django构建API时使用的普通serializer。它只是将复杂类型的数据解析为JSON或XML。模型序列化器与上面的序列化器是一样的,只是它基于模型构建序列化器,使序列化器的创建比正常构建更容易。
g52tjvyc2#
当你处理微服务和Web服务时,如果你想将你的Web服务与客户端连接起来,那么你必须使用序列化器来处理你在微服务模型中提到的任何数据,这样我们就可以很容易地从客户端携带数据。在微服务中,你使用Modelserializer来创建序列化器,但在Webservice中,你只使用序列化器。
8wtpewkr3#
Serializer和ModelSerializer之间有两个关键方面的差异:行为和基本结构。
行为差异:
在许多情况下,您需要与Django模型定义紧密结合的序列化器类。ModelSerializer类提供了一个方便的快捷方式来自动生成一个Serializer类,该类的字段直接对应于Model的字段。以下是ModelSerializer与常规Serializer的区别:1.字段自动生成:ModelSerializer将根据您提供的模型自动为您创建一组字段。1.自动验证:它还将为序列化程序生成验证器,包括unique_together验证器和其他常见的验证器。1.默认实现:ModelSerializer包括.create()和.update()等方法的简单默认实现。来源:Django Rest Framework - ModelSerializer
.create()
.update()
基本区别:
另一个根本区别是ModelSerializer是从Django模型构建的,而Serializer是从字典或自定义数据结构构建的。ModelSerializer类似于ModelForm,因为它们都从Django模型中派生出结构。相比之下,序列化程序是围绕更通用的数据结构(如字典或自定义数据输入)设计的。感谢使用#Codio!
3条答案
按热度按时间slhcrj9b1#
Django rest framework serializer是在使用Django构建API时使用的普通serializer。它只是将复杂类型的数据解析为JSON或XML。
模型序列化器与上面的序列化器是一样的,只是它基于模型构建序列化器,使序列化器的创建比正常构建更容易。
g52tjvyc2#
当你处理微服务和Web服务时,如果你想将你的Web服务与客户端连接起来,那么你必须使用序列化器来处理你在微服务模型中提到的任何数据,这样我们就可以很容易地从客户端携带数据。在微服务中,你使用Modelserializer来创建序列化器,但在Webservice中,你只使用序列化器。
8wtpewkr3#
Serializer和ModelSerializer之间有两个关键方面的差异:行为和基本结构。
行为差异:
在许多情况下,您需要与Django模型定义紧密结合的序列化器类。ModelSerializer类提供了一个方便的快捷方式来自动生成一个Serializer类,该类的字段直接对应于Model的字段。以下是ModelSerializer与常规Serializer的区别:
1.字段自动生成:ModelSerializer将根据您提供的模型自动为您创建一组字段。
1.自动验证:它还将为序列化程序生成验证器,包括unique_together验证器和其他常见的验证器。
1.默认实现:ModelSerializer包括
.create()
和.update()
等方法的简单默认实现。来源:Django Rest Framework - ModelSerializer
基本区别:
另一个根本区别是ModelSerializer是从Django模型构建的,而Serializer是从字典或自定义数据结构构建的。ModelSerializer类似于ModelForm,因为它们都从Django模型中派生出结构。相比之下,序列化程序是围绕更通用的数据结构(如字典或自定义数据输入)设计的。
感谢使用#Codio!