【发布时间】:2013-03-16 08:24:47
【问题描述】:
我的数据库中有一些我这样描述的关系:
@property
def translations(self):
"""
:return: QuerySet
"""
if not hasattr(self, '_translations'):
self._translations = ClientTranslation.objects.filter(base=self)
return self._translations
hasattr() 和self._translation 背后的想法是让数据库只命中一次,而第二次返回存储的属性。
但是,在阅读完文档后,我不确定代码是否正在这样做——因为只有在真正需要值时查询才会访问数据库——这在我的代码之后。
正确的方法应该是什么样子?
【问题讨论】:
标签: python django django-queryset memoization