2

データベースのフィールド値を更新するために端末で実行しているdjangoのスクリプトがあります。更新するレコードは約3000ありますが、更新には時間がかかります。

コードは次のとおりです。

getAge  = myplayer.objects.all()
for i in getAge:
    i.age  = i.age + 0.0192         # it is equilant to  1/52
    i.save()    
    print  "new age of id - " ,i.id, "is ", i.age 

MYSQL DB を使用しています。挿入時間を短縮する方法を教えてください。

ありがとう

4

2 に答える 2

4

新しい年齢を印刷する必要がない場合は、Fを使用して次のようにできます。

from django.db.models import F
myplayer.objects.update(age=F('age')+0.0192)
于 2013-08-07T04:56:29.727 に答える
3
from django.db.models import F    
myplayer.objects.all().update(age=F('age') + 0.192)

https://docs.djangoproject.com/en/dev/topics/db/queries/#updating-multiple-objects-at-onceを読む

于 2013-08-07T05:00:43.513 に答える