2
我如何可以調用Django的queryset的更新,不寫具體的值,但修改該值已經存在,如下Django的查詢集更新()在+ =方式
Entry.objects.filter(pub_date__year=2010).update(count+=1)
我怎樣才能做到這一點?
我如何可以調用Django的queryset的更新,不寫具體的值,但修改該值已經存在,如下Django的查詢集更新()在+ =方式
Entry.objects.filter(pub_date__year=2010).update(count+=1)
我怎樣才能做到這一點?
您可以使用F expression從文檔:
記者= Reporters.objects.filter(NAME = '丁丁')
reporter.update(stories_filed = F( 'stories_filed') + 1)
嘗試這種情況:
from django.db.models import F
Entry.objects.filter(pub_date__year=2010).update(count=F('count') + 1)
for e in Entry.objects.filter(pub_date__year=2010):
e.count+= 1
e.save()
謝謝,但這個解決方案很明顯,我寧願避免使用更新的for循環。 – matousc