在Django中使用简单视图翻转布尔值?

时间:2010-07-30 03:33:20

标签: django boolean

我有一个简单的视图,但不能让它做它应该做的事情,这只是翻转一个布尔值:

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

除了“不”之外,我还试过' - '和'!',但都无济于事。

2 个答案:

答案 0 :(得分:7)

您需要将更改保存到数据库。

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,
    })

答案 1 :(得分:1)

迟到但可能会帮助别人。 您可以使用^= True进行切换。在配置文件中切换active字段,如: -

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