python - 如何更新一个只有一个字段
问题描述
我正在使用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()
解决方案
如官方 Django 文档中所述,序列化程序必须为所有必填字段传递值。为了省略此行为,您需要分配True
给partial
属性。
obj = Task.objects.filter(id=tasks['id']).first()
serializer = self.serializer_class(obj, data = {'status':1}, partial=True)
if serializer.is_valid():
serializer.save()
推荐阅读
- java - JavaFX:有没有办法让 Y 轴向上,原点在左下角?
- javascript - 如何从表格中选择某个单元格
- vb.net - 使用 Is 运算符比较循环中的字符串
- python - Python套接字 - 下载文件仅适用于chrome
- google-chrome - chrome 扩展是否会在自动更新时清除其 cookie?
- php - 使用 PHP 参数化查询执行 db2 插入时出错
- python - 如何解决 IndexError:列表索引超出范围?
- vim - 在 Vim 中,如何为代码块进行可视行选择?
- windows - CUDA统一内存和Windows 10
- c# - 如何重置 PipeReader 以便能够在 ASP.NET Core 中重新读取请求正文