2010-07-30 24 views
3

J'ai une vue simple, mais ne peut pas obtenir de faire ce qu'il est censé, qui est flip simplement une valeur booléenne:Renverser une valeur booléenne avec une vue simple dans 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, 
}) 

En plus de « non », j'ai essayé « - » et '!', mais en vain.

Répondre

5

Vous devez enregistrer les modifications dans la base de données.

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

Merci! Cela a fonctionné parfaitement. Heureux que je n'étais pas * trop * loin. –

0

En retard, mais peut aider quelqu'un d'autre. Vous pouvez basculer en utilisant ^= True. Basculer active champ de profil comme: -

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