繁体   English   中英

是否可以在Django的json字段中使用F递增值?

[英]Is it possible to increment a value with F in a json field in django?

是否可以在Django的json字段中使用F递增值?

我有一个包含json字段的对象,并且其中有一些键。

是否可以在使用F的json中增加键值?

感谢你所做的一切。

credits = Company.objects.filter().first()
credits.meta_data = F('meta_data')['credits'] + 1
credits.save()

不确定F是什么,但是给定meta_data是有效的JSON对象,您可以使用json库对其进行操作,例如:

a = json.loads("{\"a\":1}")
#or a = json.loads(credits.meta_data)
print(a)
a["a"] = a["a"]+1
print(a)

{'a': 1}
{'a': 2}

您要小心(处理异常,并确保将有效的json内容保存到该字段中),因为即使在使用特定于Postgresql的json字段时,它也不能保证您从中获取格式正确的json对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM