Python 更新首个\ U日期和最后一个\ U日期以计算每个期间的客户
在我的django项目中,可以使用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
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()