我希望能夠通過我的視圖爲用戶更改我的「sendmail」布爾值。但是,在爲值爲True的用戶添加一次對象之後,我無法再更改它,因爲我收到「/ accounts/send_me_email /列user_id上的IntegrityError不唯一」。我究竟做錯了什麼?更改用戶對象的布爾值
models.py class SendMeMail(models.Model): user = models.ForeignKey(User, unique=True) sendmail = models.BooleanField()
views.py from userprofile.models import SendMeMail def send_me_email(request): """ Define if a user want email notifications or not """ # Check for current sendmail value and act accordingly sendme = SendMeMail(user=request.user) if sendme.sendmail == False: sendme.sendmail = True sendme.save() if sendme.sendmail == True: sendme.sendmail = False sendme.save() else: sendme.sendmail = True sendme.save()
Ofcourse!我的代碼中仍然存在一些問題,因爲它一旦到達那裏就掛在False上,但是我懷疑這是因爲我有兩個if:s之後,而後者總是將它更改爲False。 – leffe 2011-04-27 12:36:19
是的,只要更改第二個參數即可。 – 2011-04-27 12:49:13