DRF如何更新序列化中嵌套的序列化内容

Models 中的内容

class mB(models.Model):
    # 通过迁移数据会有 默认的  主键 id
    sex_chocise = ((1, '男'), (2, '女))
    sex = models.SmallIntegerField(verbose_name='性别', choices=sex_choices, default=1)
    age= models.SmallIntegerField(verbose_name='年龄',  default=0)

class mA(models.Model):
    num = models.CharField(verbose_name='学号', max_lenght=5, primary_key=True)
    name = models.CharField(verbose_name='姓名', max_lenght=10, null=False, blank=False)
    sex_age = models.OneToOneField(verbose_name='性别年龄', to=mB, on_delete=models.CASCADE)

Serializers中的内容

# 有两个模型序列化器 Aser,Bser 关系 如下
class Bser(ModelSerializer):
    model = mB
    fields = '__all__'

class Aser(ModelSerializer):
    a = Bser()    # 嵌套序列化器
    model = mA
    fields = '__all__'

Views中的内容

class TestView(APIView):
    def get(self, request):
        queryset = mA.objects.all()
        ser = Aser(queryset, many=True)
        return Response(ser.data)

    def put(self, request, num):
        instance = mA.objects.get(pk=num)
        ser = Aser(instance=instance, data=request.data)
        if ser.is_valid(raise_exception=True):
            ser.save()
            return Response(ser.data)

get请求结果如下

[
    {
        "num": "10010",
        "name": "张三",
        "sex_age": {
              "id": "1"
              "sex": "1",
              "age": "18"
         }
    },
    {
        "num": "10011",
        "name": "李四",
        "sex_age": {
              "id": "2",
              "sex": "1",
              "age": "19"
         }
    }
]

当需要修改 信息中的 年龄 或者 性别时候修改不了,会报错

The `.update()` method does not support writable nested fields by default.
Write an explicit `.update()` method for serializer `atms_management.serializers.TestSerializer`, or set `read_only=True` on nested serializer fields.

提出问题:

怎么在不修改模型关系和序列化之间的关系的基础上,怎么对序列化里嵌套序的列化器中的字段数据进行修改。
set read_only 不是自己想要的结果。