[英]django queryset able update own model's field with existing value + 1?
抱歉,如果標題沒有太大意義,我不確定如何用很少的單詞正確地顯示它。
不管怎么說,我真正想要的是......我知道我們可以filter querysets
,然后使用update
來更新所有字段queryset
而不做一個循環,然后save()
但是我真正需要的是……
User.objects.filter().update(username=this is where I want to update BUT I want to update itself's username+1)
如果我以循環的方式進行操作,它將類似於
all_users = User.objects.filter()
for user in all_users:
user.username = user.username + str(1)
user.save()
但是有辦法使用update
嗎?
在此先感謝您的幫助。
可以使用django.db.models
F()
來完成此操作
from django.db.models import F
User.objects.filter(pk=pk).update(new_attr=F('username')+str(1))
要么
all_users = User.objects.filter()
for user in all_users:
user.username = F('username') + str(1)
user.save()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.