小编Nav*_*Nav的帖子

Django Rest Framework - 更新外键

使用Django Rest框架我对此问题感到有点沮丧:

我使用的视图集中,具有custom serializer.这个序列化器有它的depth set to 1.当我查询这个视图集时,我得到了正确的数据表示,例如:

data = {
  id: 1,
  issue_name: 'This is a problem',
  status: {
    id: 3,
    name: 'todo'
  }
}
Run Code Online (Sandbox Code Playgroud)

当我需要更新状态时,问题就出现.例如,如果我想为此问题选择其他状态,例如:

status_new = {
   id: 4,
   name: 'done'
}
Run Code Online (Sandbox Code Playgroud)

我将以下PATCH发送回服务器,这是输出:

data = {
  id: 1,
  issue_name: 'This is a problem',
  status: {
    id: 4,
    name: 'done'
  }

}
Run Code Online (Sandbox Code Playgroud)

但是,状态不会更新.事实上,它甚至不是validated_data字典的一部分.我已经读过嵌套关系是只读的.有人可以用简单的方式告诉我我需要做什么吗?

真的有义务.

提前致谢

django django-rest-framework

9
推荐指数
1
解决办法
6830
查看次数

标签 统计

django ×1

django-rest-framework ×1