2016-07-26 4 views
1

models.pyKann ich Anmerkungen im Django-Modell wie folgt verwenden und wie?

matches = models.ManyToManyField('Matches') 
... 
def get_rating(self): 
    from django.db.models import Sum, Value, IntegerField 
    from django.db.models.functions import Coalesce 

    return self.matches.annotate(rating=Coalesce(Sum('matches__rating_difference'), Value(0), output_field=IntegerField()) + Value(1000)) 

rating_difference enthält Spieler Bewertung Punkte

get_rating sollte

template.html

{{ player.matches.get_rating.(?)rating }} 
+0

Was ist 'in_matches'? –

+0

warum versuchst du es nicht? (Sie können es tun) – Justin

+0

oops 'in_matches' ===' Übereinstimmungen' – 8bitard

Antwort

0

Summe der Punkte (Spielerbewertung) zurückgeben funktioniert es

models.py

matches = models.ManyToManyField('Matches') 
... 
def get_rating(self): 
    from django.db.models import Sum, Value, IntegerField 
    from django.db.models.functions import Coalesce 

    return self.matches.aggregate(rating=Coalesce(Sum('rating_difference'), Value(0), output_field=IntegerField()) + Value(1000)) 

template.py

{{ player.matches.get_rating.rating_difference }} 
Verwandte Themen