Ответ 1
Вам следует использовать Aggregation (doc):
from django.db.models import Avg
p = Property.objects.get(...)
stars_average = p.rating_set.aggregate(Avg('stars')).values()[0]
Хотя немного неуверен в моем примере.
Хей, у меня простая система оценки для свойства. Вы даете ему отметку из 5 (звезд). Модели определяются следующим образом:
def Property(models.Model)
# stuff here
def Rating(models.Model)
property = models.ForeignKey(Property)
stars = models.IntegerField()
Что я хочу сделать, это получить свойство, найти все объекты Rating, собрать их, а затем получить от них средние "звезды".
любые идеи, как это сделать?
Вам следует использовать Aggregation (doc):
from django.db.models import Avg
p = Property.objects.get(...)
stars_average = p.rating_set.aggregate(Avg('stars')).values()[0]
Хотя немного неуверен в моем примере.