我可以作出的AppEngine模型属性调用一个函数?
-
22-09-2019 - |
题
我实施与基于特定排序算法“热”故事一个FrontPage。但是,我想不出如何通过AppEngine上的数据存储我自己的排序功能(像我可以与排序(键= ranking_function)蟒蛇)。我想是这样的:
class Story(db.Model):
user = db.ReferenceProperty(User)
text = db.TextProperty()
def ranking(self):
# my ranking function, returns an int or something
return 1
ranking = property(ranking_function)
所以,我可以稍后调用:
Story.all().order("ranking").limit(50)
不知道如何使用AppEngine上的数据存储模型来做到这一点?
其他提示
我不认为这是可能与App Engine你描述的方式,但我认为这是可能实现你想要什么。您希望数据存储运行对数据存储中的每一个元素排序功能,每次你做一个查询时间。这是不是很可扩展的,因为你可以有上百万的实体要排名。
相反,你应该有一个称为秩一整数性能,并且每次更新实体的时间设置。然后你可以使用这个属性您的订单子句。
不隶属于 StackOverflow