【发布时间】:2015-12-23 14:08:24
【问题描述】:
我有一堂课:
class ImgObject(models.Model):
img_file = models.CharField(max_length=128,unique=False)
img_id = models.IntegerField(default=0)
img_tags = models.CharField(max_length=320,unique=False)
img_title = models.CharField(max_length=128,unique=False)
每个 img_title 都会有对应的 img_tags。可能有多行具有不同 img_tag 的 img_title 行。例如,
img_title img_tags
---------------------
buildingA yellow
buildingB seaside
buildingA apartment,urban
buildingC suburban
buildingA yellow
我希望我的查询返回每个 img_title 的 img_tags 以及每个标签的计数。 例如,
SELECT DISTINCT img_title,img_tags, COUNT(img_tags) FROM ImgObject
应该返回
buildingA : yellow(2),apartment(1),urban(1)
buildingB : seaside
buildingC : suburban
我知道应该有一些迭代过程正在进行,但我无法将其放入 Django 查询中。 这是我尝试过的,
for i in ImgObject.objects.values('img_title'):
x = ImgObject.objects.filter('img_title').values('img_tags')
y = ImgObject.objects.filter('img_title').values('img_tags').distinct().count()
print x,":",y
但这会引发“ValueError: too many values to unpack”错误。
帮我写一段代码来实现这个输出!
【问题讨论】:
标签: sql django loops iteration equivalent