Я наткнулся на ветку, которая, казалось, могла быть связана с djangocode, но это не особо помогло. Я пытаюсь сохранить форму модели, и возникает исключение. Я думаю, это может быть связано с тем, что в моей модели дважды упоминается один и тот же внешний ключ. Возможно, это также связано с определением unique = True в одном из полей внешнего ключа. Я не знаю
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 (commit = False)
. Чувак, я думал, что это утверждение доказывает несостоятельность.
Данные POST, полученные модельной формой, содержат поля темы и сообщения. Эти данные успешно проверены моей модельной формой.
Это связанные имена, unique = True
... что дает?
Спасибо