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