У меня есть несколько пунктов, перечисленных в базе данных, упорядоченных по алгоритму Reddit .
Вот оно:
def reddit_ranking(post):
t = time.mktime(post.created_on.timetuple()) - 1134000000
x = post.score
if x>0: y=1
elif x==0: y=-0
else: y=-1
if x<0: z=1
else: z=x
return (log(z) + y * t/45000)
Мне интересно, есть ли какой-нибудь умный способ использования ORM Джанго , чтобы ОБНОВИТЬ модели в большом объеме.
Без этого:
items = Item.objects.filter(created_on__gte=datetime.now()-timedelta(days=7))
for item in items:
item.reddit_rank = reddit_rank(item)
item.save()
Я знаю об объекте F (), но не могу понять, может ли эта функция выполняться внутри ORM.
Есть идеи?
Помощь будет очень признателен!