>
> My problem is when want to display overall player statistics I get about 
> 1200 DB-Queries.
> This is because for each player there will be 5 Queries due to 
> matches_won, matches_draw, goals, matches_played functions.
>

  First easy optimisation: keep  Match.objects.select_related().filter( 
Q(opp1=self)|Q(opp2=self)) in an instance variable and use that QuerySet as 
base of all your calculations. Do NOT add additional filters for 
matches_draw/matches_won/matches_played, instead iterate over the results 
and do the calculations in Python. That way the QuerySet result will be 
cached the first time you're iterating over it and won't result in any more 
database accesses later on.

   Cheers,

        mjl

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/django-users/-/Tn_Gen7b8s8J.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to