Small optimization on project stats

remotes/origin/enhancement/email-actions
Jesús Espino 2014-07-26 10:23:11 +02:00
parent 7d2cc9e8dc
commit c670b3a17b
2 changed files with 2 additions and 2 deletions

View File

@ -72,7 +72,7 @@ class Milestone(WatchedModelMixin, models.Model):
super().save(*args, **kwargs)
def _get_user_stories_points(self, user_stories):
role_points = [us.role_points.all() for us in user_stories]
role_points = [us.role_points.all().select_related('points') for us in user_stories]
flat_role_points = itertools.chain(*role_points)
flat_role_dicts = map(lambda x: {x.role_id: x.points.value if x.points.value else 0}, flat_role_points)
return dict_sum(*flat_role_dicts)

View File

@ -237,7 +237,7 @@ class Project(ProjectDefaults, TaggedMixin, models.Model):
rp_query.delete()
def _get_user_stories_points(self, user_stories):
role_points = [us.role_points.all() for us in user_stories]
role_points = [us.role_points.all().select_related('points') for us in user_stories]
flat_role_points = itertools.chain(*role_points)
flat_role_dicts = map(lambda x: {x.role_id: x.points.value if x.points.value else 0}, flat_role_points)
return dict_sum(*flat_role_dicts)