2010-07-30 25 views
3

我有一個簡單的觀點,但不能讓它做什麼它應該,這簡直是翻轉一個布爾值:用Django中的簡單視圖翻轉布爾值?

def change_status(request): 
request.user.get_profile().active=not request.user.get_profile().active 
return render_to_response('holdstatus.html', { 
    'user' : request.user, 
}) 

除了「不」,我已經試過「 - 」和'!',但都無濟於事。

回答

5

您需要將更改保存到數據庫。

def change_status(request): 
    profile = request.user.get_profile() 
    profile.active = not profile.active 
    profile.save() 
    return render_to_response('holdstatus.html', { 
     'user': request.user, 
    }) 
+0

謝謝!這工作完美。很高興我沒有*太遠*。 – 2010-07-30 03:39:16

0

已逾期但可能會幫助別人。 您可以使用^= True進行切換。切換active字段中的字段如: -

profile = request.user.get_profile() 
profile.active ^= True 
profile.save()