Django REST framework序列化器详解:普通序列化器与模型序列化器的选择与运用
from rest_framework import serializers
from myapp.models import MyModel
# 定义一个常规的序列化器
class MyModelSerializer(serializers.ModelSerializer):
class Meta:
model = MyModel # 指定模型
fields = '__all__' # 序列化所有字段
# 使用序列化器
from rest_framework.renderers import JSONRenderer
from rest_framework.parsers import JSONParser
# 实例化序列化器
serializer = MyModelSerializer(instance=my_model_instance)
# 将模型实例序列化为JSON
json_data = JSONRenderer().render(serializer.data)
# 反序列化JSON数据到模型实例(更新操作)
my_model_data = JSONParser().parse(json_data)
serializer = MyModelSerializer(data=my_model_data)
serializer.is_valid(raise_exception=True)
serializer.save()
这段代码展示了如何定义一个序列化器,并将其用于序列化和反序列化Django模型实例。它演示了如何使用ModelSerializer
以及如何通过Meta
子类定义模型和字段。最后,它演示了如何将模型实例序列化为JSON以及如何将JSON数据反序列化回模型实例。
评论已关闭