【发布时间】:2017-03-27 06:22:04
【问题描述】:
我想在模型属性上使用@cached_property 以避免过多的数据库访问。
class AttrGroup(models.Model):
...
@cached_property
def options(self):
options = AttributeOption.objects.filter(group_id=self.id)
return options
...
这很好用。
我想用下面的函数来更新options的值。但是我应该怎么做呢?对于属性装饰器,有它的设置器。
def _set_options(self, value):
for option in value:
AttributeOption.objects.create(group_id=self.id, option=option.get('option'))
【问题讨论】:
-
我刚刚找到另一个装饰器
lru_cache,我的问题的另一个解决方案