gpt4 book ai didi

python - Django 按产品类别汇总平均价格

转载 作者:太空宇宙 更新时间:2023-11-03 14:18:41 24 4
gpt4 key购买 nike

我有这样的观点:

def MainStatsView(request):
leads = Leads.objects.all()
university = University.objects.all()
price = Leads.objects.aggregate(Avg('price'))


context = {
'leads':leads,
'university':university,
'price':price,
}

return render(request,'stats/stats_main.html',context)

我正在尝试获取在每所大学(类别)产生销售线索的特性(产品)的平均价格。我无法找到基于大学的平均价格。我尝试使用 for 循环,但这似乎不起作用。

这也是我的循环:

{% for uni in university %}
<tr>
<td>{{ uni.u_name }}</td>
<td>{{ price }}</td>
<td>{{ lead.school }}</td>
<td>{{ lead.featured }}</td>
<td>{{ lead.price }}</td>
</tr>
{% endfor %}

潜在客户模型:

class Leads(models.Model):
listing = models.CharField(max_length=100,default='Listing')
timestamp = models.DateTimeField(auto_now_add=True)
company = models.CharField(max_length=50,default='Company')
school = models.CharField(max_length=100,default='School')
featured = models.BooleanField(default=False)
price = models.IntegerField(blank=False,default=500)
student_name = models.CharField(max_length=50,default='Name')
student_phone = models.CharField(max_length=50,default='Phone')
student_email = models.EmailField(max_length=100,default='none@studentcribz.com')
party_size = models.IntegerField(max_length=1,default=1)

def __str__(self):
return self.school

大学模型:

class University(models.Model):
u_date = models.DateTimeField(auto_now_add=True)
u_name = models.CharField(max_length=100,blank=False)
u_slug = models.CharField(max_length=100,blank=True)
name_initials = models.CharField(max_length=5,blank=False)
address = models.CharField(max_length=100,blank=False)
color1 = models.CharField(max_length=7,blank=False)
color2 = models.CharField(max_length=7,blank=False)
color3 = models.CharField(max_length=7,blank=False)
u_logo = models.ImageField(upload_to='university_logos',blank=False)
banner = models.ImageField(upload_to='university_banners',blank=False)
u_homepage_pic = models.ImageField(default='',upload_to='university_homepage_pic',blank=False)

def __str__(self):
return self.u_name

def save(self, *args, **kwargs):
self.u_slug = slugify(self.u_name)
super(University, self).save(*args, **kwargs)

我在这里有点乱,所以这就是为什么它看起来过于困惑。这是结果的图像。它为我提供了所有产生潜在客户的特性的平均价格,而不是专门针对一所学校的价格(这正是我想要的)。

enter image description here

最佳答案

在 Django 中,您可以使用 aggregate() 生成整个查询集的聚合,或者使用 annotate() 为每个对象生成独立摘要。 Here is the documentation .

就您而言,您似乎想为每个大学对象注释平均 lead__price:

university = University.objects.all().annotate(Avg('lead__price'))

请注意,您可能需要调整 lead__price 引用,以使其与您尚未提供的数据模型相匹配。

关于python - Django 按产品类别汇总平均价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48087138/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com