我见过django文档中的代码,它可以执行多个对象更新,例如
Entry.objects.filter(pub_date__year=2010).update(comments_on=False)
有没有办法通过更新每个对象的值来更新多个对象?例如,将一个添加到用户已阅读的所有文章
# so it does something like this?
Entry.objects.filter(user_has_read).update(views+=1)
答案 0 :(得分:9)
是的,使用F() objects:
from django.db.models import F
Entry.objects.filter(user_has_read).update(views=F('views') + 1)
请参阅updating multiple objects,倒数第二段。