Django更新没有必填字段

Die*_*sel 4 api django rest django-rest-framework

我正在尝试通过我的API执行更新.当我推送更新时,我没有所有必需的字段,因为我只是尝试更新已更改的字段.我得到400"这个字段是必需的." 错误.

我知道该字段是必需的,但我正在尝试更新,而不是再次放入所有必填字段.这是一个PUT请求.这在我的序列化程序上调用create或update之前发生.它在is_valid()调用(我没有覆盖)上失败.老实说,没有任何相关的代码可以显示.要解决此问题,我必须覆盖is_valid并在那里提供密码吗?

例如:密码是我的模型中的必填字段.但是我只推送"first_name",因为这是唯一改变的字段.我会得到:密码":["此字段是必填项."].

Ani*_*rma 8

UPDATE 可以通过2个请求: PUT and PATCH

PUT更新要在其上执行操作的对象的所有字段.它基本上遍历所有字段并逐个更新它们.因此,如果在提供的数据中找不到必填字段,则会引发错误.

PATCH我们称之为部分更新.您只能更新需要更改的字段.因此,在您的情况下,将您的请求方法更改为PATCH,您的工作将完成.