1
我在數據庫中列出了一些項目,通過Reddit的算法訂購。這可以通過ORM來完成嗎? - Django
這是它:
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)
我不知道是否有使用Django的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內部進行。
任何想法?
幫助將非常感謝!
@insin不是很熟悉的光標。非常感謝,我現在就試試看。 – RadiantHex 2010-03-24 18:08:22
這比通過ORM做更有效嗎? OP真的想通過一個更新查詢來完成整個事情,但是您的方式仍然會爲每個項目調用一次'reddit_rank'。 – 2010-03-24 20:03:59