Python 在django模型中使用返回数据

Python 在django模型中使用返回数据,python,django,function,django-models,Python,Django,Function,Django Models,我是Django和Python的新手,我正在尝试开发一个小网站来计算某段时间内每天的总分钟数 到目前为止,我制作了一个模型,其中包含包含我需要的所有信息的字段,以及模型中的两个函数,用于计算一个时间段内的天数和分钟数 但现在我被卡住了。我一直在尝试将函数的结果相乘,但我无法做到这一点 我不知道我这样做是正确的还是最有效的,我愿意接受所有改进代码的建议 非常感谢 class Vacation (models.Model): reference = models.CharField(max_

我是Django和Python的新手,我正在尝试开发一个小网站来计算某段时间内每天的总分钟数

到目前为止,我制作了一个模型,其中包含包含我需要的所有信息的字段,以及模型中的两个函数,用于计算一个时间段内的天数和分钟数

但现在我被卡住了。我一直在尝试将函数的结果相乘,但我无法做到这一点

我不知道我这样做是正确的还是最有效的,我愿意接受所有改进代码的建议

非常感谢

class Vacation (models.Model):
    reference = models.CharField(max_length=30, default='test')

    start_date = models.DateField(default=0)
    end_date = models.DateField(default=0)

    start_hour = models.TimeField(default=0)
    end_hour = models.TimeField(default=0)

    monday = models.BooleanField()
    tuesday = models.BooleanField()
    wednesday = models.BooleanField()
    thursday  = models.BooleanField()
    friday = models.BooleanField()
    saturday = models.BooleanField()
    sunday = models.BooleanField()

    @property
    # these are not the actual functions but only the results they give me
    def calcul_jours(self):
        work_days = [1, 1, 0, 0, 1, 1, 0]
        day_list = [6, 6 , 0, 0, 7, 7, 0]
        return day_list

    def calcul_heures(self):
        day_minutes = [180, 90, 0, 0, 90, 90, 90]
        night_minutes = [540, 360, 0, 0, 180, 360, 180]
        day_night = np.array([day_minutes, night_minutes])

        return day_night

    def multiplication(self):
        days = Calcul.calcul_jours
        minutes = Calcul.calcul_heures

        multiplication = np.multiply(days, minutes)
        return multiplication

numpy是一个很好的图书馆,但你将通过艰苦的学习了解到多少!@#$%^可以对时间数据类型进行编程。在这里,我将为你省去头痛,numpy支持。一开始可能没什么意义,但只要有可能,您就会希望使用这些方法来计算。另一个选项是python的内置库。希望这能帮助你按照你想要的方式计算


就效率而言,请注意如何使用model
@property
s。它们对于创建“计算字段”非常有用,就像您在这里所做的那样,但是如果您在属性中放置了一个查询,那么无论何时调用该属性,您都将有效地调用2个查询。这使得显示大量数据非常费力。

您可以执行类似的操作以获得不同的分钟数
minutes\u diff=(结束日期-开始日期)。总秒数()/60.0