我有一個函數應該將用戶創建的所有對象更新爲非活動狀態。所以,我編寫此:一次更新多個對象
def TurnOff(request, passed_id):
if request.user.is_authenticated():
#this should set all objects to an inactive state
tmp = myModel.objects.filter(created_by=request.user).update(active=False)
#this is to set one specific object to an active state again
myModel = get_object_or_404(myModel, created_by=request.user, pk=passed_id)
tmp = myModel.objects.filter(created_by=request.user, pk=passed_id).update(active=True)
return HttpResponseRedirect("../started")
else:
return HttpResponseRedirect("/")
線tmp = myModel.objects.filter(created_by=request.user).update(active=False)
不工作(這意味着假未設置),只有當我指定與其他關鍵字pk=ANY_ID
的過濾器,但我想更新像其描述的所有對象docs!
的pK是指一個特定的個體對象。如果你想更新所有的對象,你爲什麼要通過PK過濾? –
@DanielRoseman應該返回所有對象的過濾器沒有pk過濾屬性,只有第二個過濾器會重新激活一個特定對象。 – rwx
你怎麼知道它不起作用,如果你在第一個過濾器之後循環,在myModel.objects.filter(created_by = request.user)並打印活動,你會得到什麼? –