如何在JSONField中存储数据

时间:2019-12-13 04:58:48

标签: python django django-models

我有一个名为Fixture的Django模型

rw

我的应用程序中的Fixture对象存储了各队之间的足球比赛数据。夹具模型有 teams_h2h 字段,它是JSONField,我在这两个命令之间放置了以前足球比赛的数据。这是我的问题。我有一个灯具ID列表,我想将它们存储在 teams_h2h 字段中。我应该以哪种数据格式将数据放入其中?列表或字典?

1 个答案:

答案 0 :(得分:0)

您可以使用字典数据类型。

但是必须考虑使用另一个选项,例如ArrayField,因为JSONField是特定于PostgreSQL的。

In Documentation关于数据类型:

  

用于存储JSON编码数据的字段。在Python中,数据以其Python原始格式表示:字典,列表,字符串,数字,布尔值

以及有关SQL支持的信息:

  

PostgreSQL有两种基于JSON的本地数据类型:json和jsonb 。它们之间的主要区别在于它们的存储方式和查询方式。 PostgreSQL的 json字段作为 JSON 的原始 string 表示存储,并且必须被解码 strong>。 jsonb字段是根据允许进行索引的JSON的实际结构存储的。权衡是写入jsonb字段时的一小笔额外费用。 JSONField使用jsonb