- 初始创建
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
网友评论