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