Форум сайта python.su
Есть примитивная модель
class MyModel(Model):
rating = IntegerProperty()
timestamp = IntegerProperty()
MyModel.all().filter('timestamp <', 100).order('-rating')
Офлайн
Может кому нибудь пригодится.
Так как у меня была очеь протая задаса просто сортировать записи по популярности и рейтингу сделал так:
class TopPager(Pager):
'''Paginator for TOP of content
'''
def __init__(self, query, days, **kw):
super(TopPager, self).__init__(query, **kw)
self.days = days
@property
def results(self):
is_dirty = True
while is_dirty:
is_dirty = False
page = super(TopPager, self).results
for item in page:
if not (datetime.utcnow() - item.date).days < self.days:
item.put()
is_dirty = True
return page
@db.ComputedProperty
def top_24h(self):
return _since_days(self.date, 1)
@db.ComputedProperty
def top_7d(self):
return _since_days(self.date, 7)
@db.ComputedProperty
def top_30d(self):
return _since_days(self.date, 30)
Офлайн