Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何只更新一个字段_Python_Django_Django Rest Framework - Fatal编程技术网

Python 如何只更新一个字段

Python 如何只更新一个字段,python,django,django-rest-framework,Python,Django,Django Rest Framework,我正在使用Django/Rest框架进行一个小项目。我想更新我的表(因为我已经有一些行了),我只想更新一列状态,但我得到一个关于其他字段的错误,这些字段是必需的: 如何只更新一个字段,确切地说是状态,我想将状态设置为1,而不更新其他列, (Django一直告诉我需要其他字段,如title、mobile) 这是我的代码: obj = Task.objects.filter(id=tasks['id']).first() serializer = self.serializer_cla

我正在使用Django/Rest框架进行一个小项目。我想更新我的表(因为我已经有一些行了),我只想更新一列
状态
,但我得到一个关于其他字段的错误,这些字段是必需的:

如何只更新一个字段,确切地说是
状态
,我想将状态设置为1,而不更新其他列,
(Django一直告诉我需要其他字段,如title、mobile)

这是我的代码:

obj = Task.objects.filter(id=tasks['id']).first()
       serializer = self.serializer_class(obj, data = {'status':1})
       if serializer.is_valid():
          serializer.save()

正如官方Django文档中提到的,序列化程序必须为所有必需字段传递值。为了省略此行为,需要将
True
指定给
partial
属性

obj=Task.objects.filter(id=tasks['id']).first()
serializer=self.serializer_类(obj,data={'status':1},partial=True)
如果序列化程序.u有效():
serializer.save()

使用
patch
方法,而不是
put
。patch和put之间的区别在于它的工作方式,如您所述,通过传递
partial=True
,但最好也提到它总是与
patch
请求关联