Не могу понять как работает @cached_property в моделе. Необходимо выводить счетчик записей. Делаю следующим методом:
class Categorie(MPTTModel):
class Meta:
verbose_name = 'Категория'
verbose_name_plural = 'Категории'
def __str__(self):
return self.name
parent = TreeForeignKey('self', null=True, blank=True, related_name='children', db_index=True)
name = models.CharField(unique=True, max_length=60)
slug = models.SlugField(unique=True, max_length=80, default='')
created_at = models.DateField(auto_now_add=True)
class MPTTMeta:
order_insertion_by = ['name']
@cached_property
def sites(self):
return self.site_set.count()
Но при каждом запросе к sites идет запрос в БД. В моем понимании должно работать по следующей схеме: первый запрос к БД и все последующие с кеша. После del sites снова запрос к БД. Помогите понять