Django ORM计算两个日期属性之间的天数

问题描述 投票:6回答:4

场景

我有一张桌子student。它具有以下属性

name

age

school_passout_date

college_start_date

我需要一份报告来了解什么是avg number of days学生在通过学校和就读大学之间可以免费获得。

当前方法

目前,我正在为每个学生寻找天数并获取平均值的方法而烦恼。>>

问题

当记录集变大时,效率极低。

问题

Django ORM中是否有任何功能可以给我两个日期之间的总计天数?

可能性

我正在寻找这样的东西。

Students.objects.filter(school_passed=True, started_college=True).annotate(total_days_between=Count('school_passout_date', 'college_start_date'), Avg_days=Avg('school_passout_date', 'college_start_date'))

方案我有一个餐桌学生。它具有以下属性名称,年龄,school_passout_date,college_start_date我需要一个报告来知道学生在...之间的平均天数是多少...

python django django-orm
4个回答
2
投票

在数学上,根据(预计的)通过日期总是晚于开始日期的事实,您可以从所有开始日期和所有通过日期中获得平均值,并有所作为。


2
投票

这个问题很老,但是Django ORM现在更高级了。


1
投票

Django目前仅接受4个函数的聚合:最大,最小,计数和平均,因此这有点棘手。


0
投票

您可以这样操作:

© www.soinside.com 2019 - 2024. All rights reserved.