<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      序列化(模型序列化、序列化嵌套)

      模型序列化

      from rest_framework import serializers
      from meituan.models import Merchant,
      
      class MerchantSerializer(serializers.ModelSerializer):
          class Meta:
              model = Merchant
              # 要展示的字段列表,為“__all__”時(shí)則全部展示
              fields = "__all__"
              # 定義不展示哪些字段
              # exclude = ['name']
      

      序列化嵌套

      • 使用場(chǎng)景
        當(dāng)查詢的model里有外鍵時(shí),又想在取該model數(shù)據(jù)時(shí)將對(duì)應(yīng)的外鍵表中的數(shù)據(jù)同時(shí)取出時(shí)使用。
      • 使用方法
        定義序列化類時(shí),指定外鍵的字段使用哪個(gè)序列化類(因此,需要提前將外鍵表的序列化類寫(xiě)好)。
        • read_only : 表示只有在查詢數(shù)據(jù)時(shí),才會(huì)使用到該字段的序列化類,在其他情況時(shí),不執(zhí)行該序列化類
        • write_only : 表示只有在寫(xiě)的時(shí)候,才會(huì)執(zhí)行的序列化類。因?yàn)閛rm的外鍵在生成數(shù)據(jù)庫(kù)時(shí)會(huì)自動(dòng)創(chuàng)建成filedname_id的形式,所以在指定寫(xiě)時(shí),應(yīng)該也指定成該形式。
        • many :當(dāng)返回的是多條數(shù)據(jù)時(shí),需要指定 many=True 。確定取出的是單條數(shù)據(jù)時(shí),不用設(shè)置,因?yàn)槠淠J(rèn)為False
        • 當(dāng)創(chuàng)建有外鍵數(shù)據(jù)的model數(shù)據(jù)時(shí),需要自己復(fù)寫(xiě)create方法。
      class Merchant(models.Model):
          """
          商家
          """
          name = models.CharField(max_length=200,verbose_name='商家名稱',null=False)
          address = models.CharField(max_length=200,verbose_name='商家',null=False)
          logo = models.CharField(max_length=200,verbose_name='商家logo',null=False)
          notice = models.CharField(max_length=200, verbose_name='商家的公告',null=True,blank=True)
          up_send = models.DecimalField(verbose_name='起送價(jià)',default=0,max_digits=6,decimal_places=2)
          lon = models.FloatField(verbose_name='經(jīng)度')
          lat = models.FloatField(verbose_name='緯度')
      
          created = models.ForeignKey(User,on_delete=models.SET_NULL,null=True)
      
      
      class GoodsCategory(models.Model):
          """
          商家商品分類
          """
          name = models.CharField(max_length=20,verbose_name='分類名稱')
          merchant = models.ForeignKey(Merchant,on_delete=models.CASCADE,verbose_name='所屬商家',related_name='categories')
      
      from rest_framework import serializers
      from meituan.models import Merchant,GoodsCategory,Goods
      
      class MerchantSerializer(serializers.ModelSerializer):
          class Meta:
              model = Merchant
              # 要展示的字段列表,為“__all__”時(shí)則全部展示
              fields = "__all__"
              # 定義不展示哪些字段
              # exclude = ['name']
      
      class GoodsSerializer(serializers.ModelSerializer):
          class Meta:
              model = Goods
              fields = "__all__"
      
      class GoodsCategorySerializer(serializers.ModelSerializer):
          merchant = MerchantSerializer(read_only=True)
          merchant_id = serializers.IntegerField(write_only=True)
          goods_list = GoodsSerializer(many=True,read_only=True)
          class Meta:
              model = GoodsCategory
              fields = "__all__"
      
          def validate_merchant_id(self,value):
              if not Merchant.objects.filter(pk=value).exists():
                  raise serializers.ValidationError("商家不存在!")
              return value
      
          def create(self,validated_data):
              merchant_id = validated_data.get('merchant_id')
              merchant = Merchant.objects.get(pk=merchant_id)
              category = GoodsCategory.objects.create(**validated_data,merchant=merchant)
              return category
      
      posted @ 2020-12-26 16:39  xsan  閱讀(373)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: av无码精品一区二区乱子| 亚洲黄色片一区二区三区| 亚洲精品亚洲人成人网| 青春草公开在线视频日韩| 六十路熟妇乱子伦| 国产综合色在线精品| 日韩欧美亚洲综合久久| 国产一区二区日韩经典| 91精品国产自产91精品| 美女裸体十八禁免费网站| 久久久久影院色老大2020| 精品乱码一区二区三四五区| 一区二区中文字幕av| 1精品啪国产在线观看免费牛牛| 欧美亚洲综合成人a∨在线| 夜夜夜高潮夜夜爽夜夜爰爰 | 麻豆蜜桃av蜜臀av色欲av| 午夜免费无码福利视频麻豆| 天堂V亚洲国产V第一次| 2021国产精品视频网站| 宁海县| 在线精品视频一区二区| 少妇激情一区二区三区视频小说| 自拍偷自拍亚洲精品播放| 麻豆精品国产熟妇aⅴ一区| 欧美色欧美亚洲高清在线观看| 国产精品二区中文字幕| 麻豆亚洲精品一区二区| 熟女国产精品一区二区三| 亚洲精品成人片在线播放| 成年午夜免费韩国做受视频| 欧美人与zoxxxx另类| 老色99久久九九爱精品| 91香蕉国产亚洲一二三区| 色丁香一区二区黑人巨大| 国产成人AV大片大片在线播放 | 久久久久青草线蕉综合超碰| 99久久成人国产精品免费| 国产精品久久久久久福利| 少妇上班人妻精品偷人| 国产不卡一区二区在线|