Django - 基于日期差异的复杂注释/聚合

问题描述

我有模型 CategoryLeadEvent

该事件描述了生成潜在客户(从外部来源下载)的操作,并且可以随时创建 - 例如每天 2 次,然后 7 天什么都不做,然后每天 1 次等。

Event一个 new_leads 字段,用于跟踪 Lead 对象。每个 Lead 都有一些类别(如衣服、电子产品等)。

我正在尝试(根据历史记录)预测如果我今天创建了一个新事件会产生多少潜在客户。

我首先根据每个类别的潜在客户数对 Event 查询集进行注释。

categories = Category.DEFAULT_CATEGORIES

annotations = {category:Count('new_leads',filter=Q(new_leads__category__name=category)) for category in categories}
events = Event.objects.all().annotate(**annotations)

现在,对于每个事件,我都可以这样调用 category 属性

getattr(event,'clothes')

返回一些新衣服。

这是我不知道如何继续的地方。

我想计算/注释每天的平均新潜在客户数。例如。对于特定事件和类别,我会将潜在客户数量除以自 Event 之前的天数。

类似于 event.clothes_avg_per_day 的东西,然后我会汇总所有类别的所有事件的平均值。

这样我每天每个类别的平均新潜在客户数就可以了,然后我可以简单地计算自最近 Event 以来的天数,然后乘以每个类别每天的平均新潜在客户数.

是否可以通过几个数据库查询来做到这一点?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)