我的 GAE 项目中有一类视频,我希望能够通过他们的分数进行搜索,即赞成票减去反对票。我希望能够查询此值,并且希望以最有效的方式获取它。我相信使用计算属性获取是以下方式的最佳方法:
class Video(ndb.Model):
title = ndb.StringProperty(required = True)
description = ndb.TextProperty()
upvotes = ndb.IntegerProperty(required = True)
downvotes = ndb.IntegerProperty(required = True)
score = ndb.ComputedProperty(lambda self: self.upvotes - self.downvotes)
我很好奇 ComputedProperty 是否有任何性能拖累?每次给出赞成票或反对票时,只增加或减少得分值会更有效吗?