Python 如何只更新一个字段
我正在使用Django/Rest框架进行一个小项目。我想更新我的表(因为我已经有一些行了),我只想更新一列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
状态
,但我得到一个关于其他字段的错误,这些字段是必需的:
如何只更新一个字段,确切地说是状态
,我想将状态设置为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
请求关联