Django查询集按Postgres JSONField中的值计数分组

时间:2017-08-30 07:53:02

标签: django postgresql

我的模特:

from django.contrib.postgres.fields import JSONField

class Image(models.Model):
    tags = JSONField(null=False, blank=True, default={})

标签字段值可以为空,或类似:

[
   {"tag": "xxx"}, 
   {"tag": "yyy"},
   {"tag": "zzz"}
]

数字或数字可能会有所不同(从0到N)。

我需要创建一个查询来计算按标签数量分组的图像。类似的东西:

{
   "0": "345",
   "1": "1223",
   "2": "220",
   ...
   "N": "23"
}

其中键是标签的数量,值是包含此标签数量的Image对象的数量。

我该怎么做?谢谢你的帮助!

更新

我修改了我的代码:现在我不使用JsonField,而是使用专用模型:

class ImageTag(models.Model):
    image = models.ForeignKey(Image)
    tag = models.CharField()

问题是相同的:)

0 个答案:

没有答案