0

我有以下型号:

class Model1(models.Model):    
    name = models.CharField(max_length=255, null=True)


class Model2(models.Model):
    model1 = models.ForeignKey(Model1, null=True)
    impressions = models.PositiveIntegerField(default=0)
    clicks = models.PositiveIntegerField(default=0)
    spend = models.PositiveIntegerField(default=0)    
    user = models.ForeignKey(User, null=True)

我正在尝试创建一个视图,它为每个模型显示登录用户与之关联的广告数量 + 展示次数、点击次数和支出次数。

一个快速的模型就像:

===================================================
=Model1 Name=Model2 Count=Total Impressions=TotalClicks=
=    First  =       10   =        1        =     1     =
=    Second =        6   =        100      =     20    =
========================================================

我一直在玩弄每个 model1 键具有多个值的 dict 的想法,但我不知道该怎么做。

任何帮助将不胜感激

4

2 回答 2

1

像下面这样的东西应该可以得到你所指的字典:

data = {}
for m1 in Model1.objects.all():
    data[m1.name] = Model2.objects.filter(model1=m1)
于 2013-04-25T21:50:38.737 回答
0

最后,我选择了一个存储计算字段列表的字典,如下所示:

data = {}
for m1 in Model1.objects.all():
    list = []
    model2s = m1.model2_set.filter(user=request.user)
    if model2s:
        list.append(calculated field)
        list.append(Another calculated field)    
        data[m1.name] = list
于 2013-04-27T15:01:53.033 回答