美文网首页
(十三)Django Rest framwork序列化器(3)-

(十三)Django Rest framwork序列化器(3)-

作者: 足__迹 | 来源:发表于2019-10-20 23:22 被阅读0次
  • 初始创建
class InterfaceModelSerializer(serializers.ModelSerializer):
    #自定义字段会将自动生成的覆盖掉

    # 指定参考哪一个模型类
    class Meta:
        #指定模型类
        model = Project2s
        #指定模型类那些字段来生成序列化期
        #设置需要的字段fields
        fields = "__all__"

自动创建

InterfaceModelSerializer():
id = IntegerField(label='ID', read_only=True)
name = CharField(help_text='接口名称', label='接口名称', max_length=200, validators=[<UniqueValidator(queryset=Project2s.objects.all())>])
tester = CharField(help_text='测试人员', label=' 测试人员', max_length=50)
desc = CharField(allow_blank=True, allow_null=True, help_text='发布应用', label='简要描述', required=False, style={'base_template': 'thtml'})
project = PrimaryKeyRelatedField(help_text='所属项目', label='所属项目', queryset=Projects.objects.all())

  • 数据库模型中的外键字段,默认会生成(PrimaryKeyRelatedField)序列化器,序列化输出的值值外键的ID值


    image.png
  • 数据库模型中的外键字段设置为StringRelatedField,此字段将被序列化为关联对象字符串表达形式(project中的str方法)
    project = serializers.StringRelatedField(label='所属项目')
  • 数据库模型中的外键字段设置为,SlugRelatedField此字段将被序列化为关联字典的指定字段
    project = serializers.SlugRelatedField(label='所属项目', slug_field='tester',queryset=Projects.objects.all())


    image.png
  • 数据库模型中的外键字段设置为,所关联项目序列化器
    project = ProjectSerializer(label='所属项目' ,read_only=True)


    image.png

相关文章

网友评论

      本文标题:(十三)Django Rest framwork序列化器(3)-

      本文链接:https://www.haomeiwen.com/subject/tlzamctx.html