7
我遇到了一個看起來可能與djangocode相關的線程,但它並沒有真正的幫助。我試圖保存一個模型,並拋出一個異常。我認爲這可能與在我的模型中兩次提到相同的外鍵有關。它也可能與其中一個外鍵字段中unique = True的定義有關。我不知道保存ModelForm錯誤(由於數據未驗證,無法創建User_Message)
class User_Message(models.Model):
recipient=models.ForeignKey(User, unique=True, related_name="recipients")
subject=models.CharField(max_length=100)
sender=models.ForeignKey(User, related_name="senders")
message=models.TextField(max_length=500)
sent=models.DateField(auto_now_add=True)
def __unicode__(self):
return self.subject
if request.method=="POST" and request.POST['id_message']:
messageform=User_MessageForm(request.POST)
recipient=[] #receiver of mail must be a list
recipient.append(post.user)
if messageform.is_valid:
message=messageform.save(commit=False)
message.sender=user
message.recipient=post.user
return HttpResponse('%s %s' %(user,post.user))
message.save()
#send the email
subject=messageform.cleaned_data['id_subject']
body=messageform.cleaned_data['id_message']
try:
send_mail(subject, body, sender, recipient)
except BadHeaderError:
return HttpResponse('Invalid header found.')
它的失敗在行,「messageform.save(提交= FALSE)。男人,我認爲這種說法是失敗的證明。
由該接收的ModelForm POST數據包含主題和消息字段,這個數據是成功我的ModelForm驗證。
難道是相關的名字,獨特的=真...怎麼辦?
感謝
其實我對此感到抱歉。我應該抓住那個。我很累,並試圖做太多。你今天幫了我很多,Yuji – Ben 2011-03-18 23:14:36
沒有概率的人!如果我沒有閱讀錯誤信息並查看代碼翻出來的內容,我就沒有發現這一點 - 事實證明它只是'forms.errors',而這絕不應該發生在save()處,然後我注意到()。 – 2011-03-18 23:18:48
哦,哈利路亞!我陷入了同樣的陷阱。 – 2013-01-01 11:47:27