from rest_framework import serializers
目前創(chuàng)新互聯(lián)已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、宣城網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
class AuthorSerializer(serializers.Serializer):
nid = serializers.CharField()
name = serializers.CharField()
age = serializers.CharField()
# class BookSerializer(serializers.Serializer):
# # 可以用source修改別名
# xx = serializers.CharField(source='name')
# price = serializers.CharField()
# sb = serializers.CharField(source='publish.city')
# test = serializers.CharField(source='publish.test')
# publish_id = serializers.CharField()
# # SerializerMethodField,可以指定一個(gè)方法
# # publish=serializers.SerializerMethodField()
# # # 方法名:叫g(shù)et_字段名,要傳參數(shù),參數(shù)是:當(dāng)前book對(duì)象
# # def get_publish(self,obj):
# # # obj 是當(dāng)前book對(duì)象0
# # dic={'name':obj.publish.name,'email':obj.publish.email}
# # return dic
# authors=serializers.SerializerMethodField()
# # def get_authors(self,book):
# # #拿到這本書的所有作者
# # aus=book.authors.all()
# # # 拼出一個(gè)列表,列表中套字典,每個(gè)字典是一個(gè)作者
# # ll=[]
# # for a in aus:
# # ll.append({'name':a.name,'age':a.age})
# # return ll
# def get_authors(self,book):
# #拿到這本書的所有作者
# aus=book.authors.all()
# # 可以繼續(xù)用序列化類,來(lái)處理
# auth_ser=AuthorSerializer(aus,many=True)
# return auth_ser.data
from ap01.models import Book
# class BookSerializer(serializers.ModelSerializer):
# # 必須寫一個(gè)內(nèi)部類,名字叫Meta
# class Meta:
# model = Book
# fields = '__all__'
# # 重寫屬性
# publish = serializers.CharField(source='publish.name')
# authors = serializers.SerializerMethodField()
# def get_authors(self, book):
# # 拿到這本書的所有作者
# aus = book.authors.all()
# # 可以繼續(xù)用序列化類,來(lái)處理
# auth_ser = AuthorSerializer(aus, many=True)
# return auth_ser.data
class BookSerializer(serializers.ModelSerializer):
# 必須寫一個(gè)內(nèi)部類,名字叫Meta
class Meta:
model = Book
# fields = '__all__'
# 指定只取這兩個(gè)字段
fields = ['nid','name']
# 去掉指定的字段
# exclude=['publish','authors']
# fields,跟exclude不能連用
# 指定深度(官方建議小于10,我給你的建議小于3)
# depth = 2
分享標(biāo)題:rest_framework序列化組件
文章出自:http://bm7419.com/article22/pssecc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、響應(yīng)式網(wǎng)站、App開(kāi)發(fā)、小程序開(kāi)發(fā)、網(wǎng)站設(shè)計(jì)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)