1
데이터베이스에 나열된 몇 가지 항목이 있습니다 (Reddit의 알고리즘).ORM으로이 작업을 수행 할 수 있습니까? - Django
이 그것입니다 : 대량으로 모델을 업데이트하기 위해, 장고의 ORM를 사용하는 어떤 영리한 방법이 있는지 궁금 해요
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)
. 이 일을하지 않고
:
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
ORM을 사용하는 것보다이 방법이 더 효율적입니까? OP는 하나의 업데이트 쿼리를 통해 모든 것을 정말로하고 싶었지만, 여전히 모든 항목에 대해'reddit_rank'를 한 번만 호출합니다. –