假设这个(简化的)设置:
class Related(models.Model):
# ... fields
class Model(models.Model):
# ... fields
related_model = models.ForeignKey(Related)
def a_method(self):
# ... some instructions
rel = self.related_set.all()
# ... some other instructions
现在假设a_method在多个地方的模板中使用。我知道我可以使用“with”标签来缓存模板中的结果(和相关查询),但有什么方法可以将它缓存在方法本身中?
我正在考虑使用计算的查询集来设置对象的属性,然后在a_method中检查查询集是否缓存在那里,但也许有更优雅的方式。
感谢。