如何计算两个日期之间的差之和

时间:2019-12-09 09:54:34

标签: django

我有这个模特

class Exemple(models.Model):
 from_date = models.DateField()
 until_date = models.DateField()
 person = models.ForeignKey(Person, on_delete=models.CASCADE)

我每年有一个数字,例如100,我必须从那个人的天数中减去这个数字。我必须计算该人每一行的日数,然后求和,然后再求100-天的总和

1 个答案:

答案 0 :(得分:0)

考虑到persons包含您的人员,您可以这样做:

for person in persons:
  sum = 0
  for exemple in Exemple.objects.filter(person=person):
    sum += max(1, exemple.until_date - exemple.from_date)

说明:

1)您每人要做一个计算人

2)对于每个人,您浏览每个exemple

3)您将每个“直到-从”汇总。如果max()等于1(因为您说过不希望它是until_date = from_date),0将返回0

我不知道您是要将它存储在某个地方还是只想用一种方法来完成它,所以我只写了这段代码示例为您提供了逻辑。您必须对其进行调整以适合您的需求。

但是,这可能不是实现目标的更漂亮的方法。