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

Difference between django.core serializers and Django Rest Framework serializers

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

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

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