django.core 序列化器和 Django Rest Framework 序列化器之间的区别

Posted

技术标签:

【中文标题】django.core 序列化器和 Django Rest Framework 序列化器之间的区别【英文标题】:Difference between django.core serializers and Django Rest Framework serializers 【发布时间】:2019-02-19 19:20:28 【问题描述】:

我现在正在学习 Django,我刚刚听说了 Django Rest Framework (DRF)。我想知道 django.core 序列化程序和 rest_framework 序列化程序有什么区别。是的,我知道 DRF 适用于 API。

【问题讨论】:

【参考方案1】:

django.core 序列化器旨在将整个模型实例序列化为 XML、JSON 或 YAML,反之亦然。除了序列化之外,它们什么都不做。

DRF 的序列化器专门用于在处理来自 html 表单或 API 请求的数据时将模型实例转换为 JSON 对象。因此,序列化并不总是一个顺利或直接的过程,因为您可能会收到非法或不完整的数据,或者表单的字段可能与相应模型的字段不对应。出于这个原因,DRF 允许您创建 serializers.Serializer 的自定义子类,以便清理和验证传递给服务器的数据。这还允许您自定义数据在模型实例中的存储方式。 See the documentation here.

【讨论】:

以上是关于django.core 序列化器和 Django Rest Framework 序列化器之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

Python之路72-Django 序列化

如何在 Django 中序列化模型实例?

JSON 序列化器和 Django 的替代 http 响应

django REST framework 嵌套序列化器和 POST 嵌套 JSON 文件

将列表序列化为 JSON

完全迷失:在 Django Rest 框架中使用序列化器和更新的多对多