rest_framework序列化组件-创新互联

from rest_framework import serializers

专注于为中小企业提供成都做网站、网站建设、外贸营销网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业安阳县免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

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,可以指定一个方法

#   # publish=serializers.SerializerMethodField()

#   # # 方法名:叫get_字段名,要传参数,参数是:当前book对象

#   # def get_publish(self,obj):

#   #   # obj 是当前book对象0

#   #   dic={'name':obj.publish.name,'email':obj.publish.email}

#   #   return dic

#   authors=serializers.SerializerMethodField()

#   # def get_authors(self,book):

#   #   #拿到这本书的所有作者

#   #   aus=book.authors.all()

#   #   # 拼出一个列表,列表中套字典,每个字典是一个作者

#   #   ll=[]

#   #   for a in aus:

#   #     ll.append({'name':a.name,'age':a.age})

#   #   return ll

#   def get_authors(self,book):

#     #拿到这本书的所有作者

#     aus=book.authors.all()

#     # 可以继续用序列化类,来处理

#     auth_ser=AuthorSerializer(aus,many=True)

#     return auth_ser.data

from ap01.models import Book

# class BookSerializer(serializers.ModelSerializer):

#   # 必须写一个内部类,名字叫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()

#     # 可以继续用序列化类,来处理

#     auth_ser = AuthorSerializer(aus, many=True)

#     return auth_ser.data

class BookSerializer(serializers.ModelSerializer):

  # 必须写一个内部类,名字叫Meta

  class Meta:

    model = Book

    # fields = '__all__'

    # 指定只取这两个字段

    fields = ['nid','name']

    # 去掉指定的字段

    # exclude=['publish','authors']

    # fields,跟exclude不能连用

    # 指定深度(官方建议小于10,我给你的建议小于3)

    # depth = 2

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:rest_framework序列化组件-创新互联
标题来源:http://pwwzsj.com/article/dippej.html