Python 更新首个\ U日期和最后一个\ U日期以计算每个期间的客户

Python 更新首个\ U日期和最后一个\ U日期以计算每个期间的客户,python,django,Python,Django,在我的django项目中,可以使用CustomerProfile.objects.all()向应用程序中的每个客户显示,并使用查找特定客户的创建日期 In [12]: cust = CustomerProfile.objects.get(pk=100) In [13]: cust.user.date_joined Out[13]: datetime.datetime(2017, 7, 28, 14, 43, 51, 925548) In [14]: cust Out[14]: <Cus

在我的django项目中,可以使用
CustomerProfile.objects.all()向应用程序中的每个客户显示,并使用
查找特定客户的创建日期

In [12]: cust = CustomerProfile.objects.get(pk=100)

In [13]: cust.user.date_joined
Out[13]: datetime.datetime(2017, 7, 28, 14, 43, 51, 925548)

In [14]: cust
Out[14]: <CustomerProfile: FistName LastName's customer profile>
我可能需要一个范围
start\u date
end\u date
,我们将在其中列出此类信息<代码>开始日期
将是创建的第一个客户的日期,
开始周
将是创建的第一个客户的周。显然,结束日期是创建的最后一个客户的日期,
last\u week
是此
结束日期的一周

例如,如果我在下拉菜单中选择每周
,然后按表单中的
Apply
,我想向我的模型发送信息,这样我就可以对我解释的内容进行编码

到目前为止,我知道如何计算两个日期范围内的客户数量:

CustomerProfile.objects.filter(user__date_joined__range=["2017-09-03", "2017-09-09"])
我怎样才能在这里更新日期,这样我们就可以在开始周和结束周之间得到一个列表?是否存在有效的算法(代码性能良好)来查找
第一个日期
最后一个日期
?如果可能的话,请给出完整的答复

要查找
第一个日期
最后一个日期
,可以使用
.first()
.last()
对象


使用
timedelta()
怎么样?听起来和这个很相似,我所有的约会都是datetime.datetime(…)。重构所有代码应该很困难。你为什么不写一个完整的答案我理解你的观点,但这不完全是我的问题,但我喜欢你的答案。我想要每个时段(例如每周)的客户数量,然后第一个范围是开始日期=第一个日期和结束日期=第一个日期+7days@SancaKembang,你试着回答那个问题的完整答案。到目前为止还不完整。如果是这样的话,我会投你一票的。
CustomerProfile.objects.filter(user__date_joined__range=["2017-09-03", "2017-09-09"])
first_date = User.objects.first().date_joined
last_date  = User.objects.last().date_joined

customers = CustomerProfile.objects.filter(user__date_joined__range=[first_date, last_date])
return customers.count()