前面文章介绍的序列化操作只涉及到一张表(主表),本文介绍从表如何展示主表的一些信息,主表如何展示从表信息
一、从表展示主表信息
1.在子表的所在子应用的模型序列化器类中定义PrimaryKeyRelatedField,返回主表的主键id,类属性名和主表名一致
class InterfacesModelSerializer(serializers.ModelSerializer):
projects = serializers.PrimaryKeyRelatedField(help_text='所属项目帮助文档', label='所属项目外键', queryset=Project.objects.all())
class Meta:
model = Interfaces
fields = '__all__'
验证查询结果:
2.在子表的所在子应用的模型序列化器类中定义StringRelatedField,返回主表对应对象的__str__方法的结果,__str__方法在字表的数据库模型类中定义,这里返回的是主表的项目名
def __str__(self):
return self.name
class InterfacesModelSerializer(serializers.ModelSerializer):
projects = serializers.StringRelatedField