django-restframework serializers文件的内容

from rest_framework import serializers


from computerapp.models import Product, Manufacturer, Category, UserProfile


class UserProfileSerializer(serializers.ModelSerializer):
class Meta:
model = UserProfile # 继承对比的类名
fields = ('id', 'user', 'mobile_phone', 'nick_name', 'description', 'icon', 'created', 'updated') # 前端页面显示的内容
read_only_fields = ('user',) # 只读文件设置

# 增加一个序列器,用于id与name的转换
'''
"manufacturer": {
"id": 1,
"name": "戴尔"
}
'''

class ManufacturerSerializer(serializers.ModelSerializer):
class Meta:
model = Manufacturer
fields = ('id', 'name')


class CategorySerializer(serializers.ModelSerializer):
class Meta:
model = Category
fields = ('id', 'name')

class ProductRetrieveSerializer(serializers.ModelSerializer):
# 由于想要rest框架前端显示外键关系时,不只是显示id,而是显示我们需要的内容,则需要实例化该外键列表,添加到自己显示的文件中
manufacturer = ManufacturerSerializer()
category = CategorySerializer()

class Meta:
model = Product
fields = (
'id', 'model', 'image', 'price', 'sold', 'category', 'manufacturer', 'description', 'created', 'updated')


posted on 2020-07-06 09:04  请叫我山楂熊°  阅读(273)  评论(0编辑  收藏  举报

导航