如何在文本上执行Django聚合函数

时间:2012-09-26 20:13:40

标签: django join model aggregate

我的模型如下所示:

class Loves(models.Model):
    poll = models.ForeignKey(Poll)
    choice_text = models.CharField(max_length=200)
    user_name = models.CharField(max_length=200)

模型中的数据如下所示:

民意调查choice_text用户

1 a mike

1 b mike

1 c james

2 a james

2 b旋律

1 d mike

如何输出如下所示的列表:

用户元组
迈克(1,a),(1,b),(1,d)
詹姆斯(1,c),(2,a)
旋律(2,b)

感谢。

1 个答案:

答案 0 :(得分:0)

collection={} 
for l in Loves.objects.all():
    if l.user_name in collection:
        collection[l.user_name].append((l.poll,l.choice_text))
    else:
        collection[l.user_name]=[(l.poll,l.choice_text)]
# and to turn it into a list just do
results_list=list(collection)