0
내보기를 통해 사용자의 "sendmail"부울 값을 변경할 수 있기를 원합니다. 하지만 True를 가진 사용자에 대해 개체를 한 번 추가 한 후에는 "IntegrityError at/accounts/send_me_email/column user_id가 고유하지 않기 때문에 더 이상 변경할 수 없습니다." 내가 도대체 뭘 잘못하고있는 겁니까?사용자 개체의 부울 값 변경
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()
당연히 변경 :
대신에, 당신이 의미! 거기에 도착하면 False에 달려 있기 때문에 여전히 내 코드에 몇 가지 문제가 있습니다. 나는 두 가지가 있기 때문에 그것이 의심 스럽습니다. 서로 뒤에 후자는 항상 False로 변경됩니다. – leffe
예, 'elif'로 두 번째를 변경하십시오. –