首页 > 解决方案 > 如何更新一个只有一个字段

问题描述

我正在使用Django / Rest Framework开发一个小项目。我想更新我的表(因为我已经有一些行)我只想更新一列status ,但我收到一个关于其他字段的错误是必需的:

我怎样才能只更新一个字段,确切地说status,我想将状态设置为 1,而不更新其他列,
(Django 一直告诉我需要其他字段,如标题、移动设备)

这是我的代码:

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

标签: pythondjangodjango-rest-framework

解决方案


如官方 Django 文档中所述,序列化程序必须为所有必填字段传递值。为了省略此行为,您需要分配Truepartial属性。

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

推荐阅读