【发布时间】:2016-08-09 09:45:32
【问题描述】:
我目前已经熟悉在 django rest-framework 中使用 JSONField,但是我找不到任何直接的方法来更新存储的 json 中的键。过滤 JSONField 的方法有很多,取决于它的内部键,但似乎无法从已存储的 JSONField 中更改、更新或删除键。但似乎 postgres 可以像 this answer 解释的那样对 json 键进行一些修改。
是否有任何功能可以对 JSONFields 进行修改。如果没有任何直接命令可以执行此操作,那么实现 JSONField 修改的最佳方法是什么?
编辑:
例如,如果我有这样的模型:
class Thing(models.Model):
name = models.CharField()
properties = JSONField()
在properties 中我存储了一个这样的json:
{
"color" : "red",
"size" : "large",
"cost" : 1234
}
然后我想通过使用 django 命令将颜色更改为“绿色”。
【问题讨论】:
-
您能否举例说明您正在寻找什么样的更新。最简单的方法是读入python,修改成字典,保存。
-
@serg 请查看编辑说明。
标签: django postgresql django-rest-framework