我目前正在使用Django应用程序,该应用程序根据小时数输入来计算价格。 我有两种型号:
第一个模型计算所有价格:
class Vacation(models.Model):
version = models.ForeignKey(Version)
field_1 = XXX
...
field_n = XXX
def prices(self):
calculation = ....
return [price_1, ... , price_n]
def margin(self):
calculation = ....
return [margin_1, ... , margin_n]
第二个值汇总了Vacation(model)中对象的所有价格
class Version(models.Model):
field1 = XXX
...
field_n= XXX
def totals(self):
prix_tot = sum(vacation.prices()[0] for vacation in Vacation.objects.filter(version_contrat=self))
marge_tot = sum(vacation.margin()[0] for vacation in Vacation.objects.filter(version_contrat=self))
return [prix_tot, marge_tot]
所以我找到了这种方法,但是当我刷新页面时,它花了很多时间(大约25秒,而没有查询请求则需要5秒)
还有其他方法吗?
我看过Django聚合,可能是错误的,但我并不认为它对我的情况有所帮助。任何人都对如何使此过程更有效有任何想法?
非常感谢