Python 保存对象后,字段值总和未返回正确的值

Python 保存对象后,字段值总和未返回正确的值,python,django,Python,Django,我试图在保存后将结果从一个求和聚合函数传递给另一个对象。但是,每次我更改值save the object时,sum aggregation queryset结果都不正确。我如何正确地做到这一点 类Teammodels。模型: 总计=型号。正值AllintegerFieldDefault=0 类Playermodels。模型: team=models.ForeignKeyTeam,on_delete=models.CASCADE 分数=模型。阳性AllintegerFieldDefault=0 d

我试图在保存后将结果从一个求和聚合函数传递给另一个对象。但是,每次我更改值save the object时,sum aggregation queryset结果都不正确。我如何正确地做到这一点

类Teammodels。模型: 总计=型号。正值AllintegerFieldDefault=0 类Playermodels。模型: team=models.ForeignKeyTeam,on_delete=models.CASCADE 分数=模型。阳性AllintegerFieldDefault=0 def saveself,*args,**kwargs 超级层,自我保存*args,**kwargs 未更新新的\u总值。 new_total=Player.objects.filterteam=self.team.aggregateSum'score'。获取'score_sum' Team.objects.filterid=self.Team.id.updatetotal=new\u总计 printnew_total如果我将新值保存为15,则仍将打印10 @接收者发布保存,发送者=玩家 def sumsender,实例,**kwargs: 新的\u总计\u尝试\u两个值也不会更新。 new_total_Attention_two=sender.objects.filtersquad=instance.squad.aggregateSum'score'。获取'score_sum' printnew_total_Attention_two如果我保存的新值为15,则仍将打印10 如果我有一个得分为10的现有对象,并将其更改为15,我希望团队模型上的总数更新为15,但仍然是10

我使用的是python 3.6、django 2.1.7。 我也尝试过使用post_保存信号,但也没有成功。

试试这个:

self.team.total = new_total
self.team.save()

您如何验证总数未更新?请注意,在任何情况下,该信号似乎都不会将分数和保存在任何位置。此外,请注意,无论何时需要显示,您可能最好计算总分数,而不是单独存储。@DanielRoseman通过打印新的分数和新的总尝试_two@DanielRoseman我需要存储该值以用于进一步的目的,在哪里?请显示整个代码和输出。刚刚尝试过,现在可以工作了。奇怪的是,它保存了sum aggregate函数的前一个结果。例如,如果我将一个player.score更改为15并保存它,team.score仍然是10。如果我将player.score再次更改为X,则现在team.score为15@AjayShelarUse清洁方法代替保存