我的模型当前看起来像:
class Review(models.Model):
source = models.CharField(max_length=80, blank=True, null=True)
metadata = JSONField(default=dict)
entity_type = models.CharField(max_length=255, blank=True, null=True)
课堂复习示例查询集:
[{
"id": 123,
"source": "amazon",
"entity_type": "media",
"metadata": [
{
"product": 123456
},
{
"product": 012345
}
]
},
{
"id": 1234,
"source": "amazon",
"entity_type": "media",
"metadata": [
{
"product": 123456
},
{
"product": 12345
}
]
}]
我想根据“source”、“entity\u type”、“metadata\u product”注释count
我说的Django查询类似于:
Review.objects.filter().values(
"source","entity_type","metadata__product"
).annotate(count=Count('id'))
这显然行不通。你知道吗
我想得到类似以下的输出查询集:
[{"source": "amazon", "entity_type": "media", "metadata_product":
123456, "count": 2},
{"source": "amazon", "entity_type": "media","metadata_product":
012345, "count": 1},
{"source": "amazon", "entity_type": "media","metadata_product":
12345, "count": 1}]
我希望使用Django ORM实现这一点,而不是求助于python,因为该表包含接近1000万或2000万的数据。 如果这是不可能的,这将是非常好的,如果有人可以建议原始SQL查询,可以把在Django ORM原始SQL方法。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐