Есть три модели
class Hotel(models.Model):
user = models.ForeignKey(MyUser, on_delete=models.CASCADE, verbose_name='Владелец')
title = models.CharField(max_length=100, verbose_name='Название')
def average_price(self):
return self.number_set.aggregate(Avg('get_price'))
class Number(models.Model):
hotel = models.ForeignKey(Hotel, default=1, on_delete=models.CASCADE, verbose_name='Отель')
title = models.CharField(max_length=100, verbose_name='Название')
def get_price(self):
return self.numberprice_set.all.aggregate(Avg('price'))
class NumberPrice(models.Model):
start = models.DateField(verbose_name='Начало периода')
finish = models.DateField(verbose_name='Конец периода')
price = models.IntegerField(null=True, blank=True, verbose_name='Цена')
number = models.ForeignKey(Number, on_delete=models.CASCADE, verbose_name='Номер')
В шаблоне выводятся гостиницы, нужно отобразить среднюю цену номеров в каждой гостинице. Написал методы в моделях, но не знаю, как обратится к методу get_price из метода average_price модели Hotel. Цену не сделал полем в модели номера, так как цена будет зависеть от периодов(даты).