无法将正确的对象实例分配给 ForeignKey 字段
can't assign correct object instance to ForeignKey field
我想在我的 Django Socket.IO 聊天应用程序中保存用户发送的消息,为此有以下模型:
class Conversation(models.Model):
"""
Conversation with two or more participants.
"""
name = models.CharField(max_length=20)
...
class Message(models.Model):
"""
Single chat message.
"""
conversation = models.ForeignKey(Conversation,related_name='message_convo')
content = models.CharField(max_length=10000)
sender = models.ForeignKey(User,related_name='message_sender')
sent = models.DateTimeField(auto_now=True)
我的事件处理程序代码包括以下内容:
convo = get_object_or_404(Conversation, id=message["room"])
...
m = Message()
m.conversation = convo,
m.content = message["message"]
m.sender = user
m.save()
此操作失败并显示一条完全无意义的消息:
ValueError: Cannot assign "(<Conversation: ImmaMode, Century>,)": "Message.conversation" must be a "Conversation" instance.
由于 convo
由 get_object_or_404
返回并且 显然 是一个 Conversation
实例,这可能是什么原因造成的?!
m.conversation = convo,
逗号?
我想在我的 Django Socket.IO 聊天应用程序中保存用户发送的消息,为此有以下模型:
class Conversation(models.Model):
"""
Conversation with two or more participants.
"""
name = models.CharField(max_length=20)
...
class Message(models.Model):
"""
Single chat message.
"""
conversation = models.ForeignKey(Conversation,related_name='message_convo')
content = models.CharField(max_length=10000)
sender = models.ForeignKey(User,related_name='message_sender')
sent = models.DateTimeField(auto_now=True)
我的事件处理程序代码包括以下内容:
convo = get_object_or_404(Conversation, id=message["room"])
...
m = Message()
m.conversation = convo,
m.content = message["message"]
m.sender = user
m.save()
此操作失败并显示一条完全无意义的消息:
ValueError: Cannot assign "(<Conversation: ImmaMode, Century>,)": "Message.conversation" must be a "Conversation" instance.
由于 convo
由 get_object_or_404
返回并且 显然 是一个 Conversation
实例,这可能是什么原因造成的?!
m.conversation = convo,
逗号?