创建序列器文件
在Django REST框架中,序列器具有极其重要的地位,它主要的功能如下:
- 转换翻译
把模型的数据转换成json数据,反之亦可。
- 验证数据
能够在代码运行阶段时,验证传入的数据是否符合我们的要求,只有验证后的数据才能传入模型中。
如何建立序列器
一般地,序列器的建立与模型的内容是密不可分的,可以直接参考模型,然后根据序列器的要求,建立符合规范的序列器。
序列器代码如下:
from rest_framework import serializers
from computerapp.models import Product, Category, Manufacturer
#建立产品列表序列器
class ProductListSerializer(serializers.ModelSerializer):
class Meta:
#指明序列器相关联的模型是Product
model = Product
#指明API接口可获得的模型字段如下
fields = ('id', 'model', 'description', 'price', 'category', 'manufacturer', 'created', 'updated', 'image', 'sold',)
#建立种类序列器
class CategorySerializer(serializers.ModelSerializer):
class Meta:
model = Category
fields = ('id', 'name')
#建立生产厂商序列器
class ManufacturerSerializer(serializers.ModelSerializer):
class Meta:
model = Manufacturer
fields = ('id', 'name',)
#建立产品详情序列器
class ProductRetrieveSerializer(serializers.ModelSerializer):
#把序列器作为一个字段,可以直接从fields中获得其他的序列器信息
category = CategorySerializer()
manufacturer = ManufacturerSerializer()
class Meta:
model = Product
fields = ('id', 'model', 'description', 'price', 'category', 'manufacturer', 'created', 'updated', 'image', 'sold',)