自己构建序列化字段, 此时默认的外键不发生改变,新添加序列化字段
class StudentSer(serializers.ModelSerializer): teacher_name = SerializerMethodField(read_only=True) # 为了获取自定义字段,需要实现一个方法, 方法名: get_字段名 def get_teacher_name(self, obj): # obj 代表当前需要序列化的对象, 此时obj就是学生对象 return obj.teacher.name class Meta: model = Student fields = '__all__'
返回的数据类似如下效果
{ "id": 1, "teacher": 1, "teacher_name": '李老师', "name": "小红" }