Выполняется ли метод декоратора свойств при каждом обращении к объекту?

Предположим, что это класс:

class A(models.Model):
    user_id = models.UUIDField()
    date = models.DateField()

    def __str__(self):
        return f"({self.pk})-({self.user_id})-{self.date}"
    
    @property
    def related_day(self):
        return RelatedDay.objects.filter(user_id=self.user_id, date=self.date).first()

Мой вопрос заключается в том, что если я обращаюсь к объекту класса A, будет ли метод related_day() вызываться каждый раз? Или он будет вызываться только тогда, когда я обращаюсь к A.related_day? Я не хочу терять производительность из-за использования декоратора свойств, когда мне это не нужно. Я прочитал эти ответы, но я еще не уверен в этом.

Вернуться на верх