【发布时间】:2018-05-15 09:49:39
【问题描述】:
我拥有的模型的一部分,它使用 Django Model 字段,如下所示:
class SalesModel(models.Model):
some_data = models.PositiveIntegerField(db_index=True)
some_other_data = models.CharField(max_length=50)
json_data = JSONField(blank=True, null=True)
下面是 JsonData 字段的格式:
[{"id": val, "contribution": "some_val", }, {"id": some_val, "contribution": "some_other_val",}, {"id": other_val, "contribution": "some_another_val"}]
即格式为:
[{'id':XX, 'contribution':XX},{'id':YY, 'contribution':YY},{'id':ZZ, 'contribution':ZZ}]
目前我可以使用 ID 的 val 过滤 Django 表。我现在想知道那个特定 ID 的贡献。
例如,如果 val = 1,我想过滤具有 id = 1 的 JsonField 的模型 SalesModel,并且我想显示相关贡献。因此,这意味着,在 3 个可能的字典中(根据字段构造),我只会显示一个字典(由该字典的“ID”键过滤)。这意味着,如果第 2 个字典具有匹配的 ID,则仅显示第 2 个贡献,如果第 1 个 ID 匹配,则仅显示第 1 个贡献,对于第 3 个字典也是如此。
有什么办法可以做到吗?
【问题讨论】:
标签: python django postgresql django-jsonfield postgresql-json