如何在相同(用户)table 的消息 table 中添加两个外键作为外键?
How to add two foreign keys in message table of same(user) table as foreign keys?
我正在尝试在后端使用 Django rest 设计一个聊天应用程序
我的模型
class MessageModel(models.Model):
message = models.CharField(max_length=200)
msg_from = models.ForeignKey(UserModel,on_delete=models.CASCADE)
msg_to = models.ForeignKey(UserModel,on_delete=models.CASCADE)
但出现以下错误
SystemCheckError: System check identified some issues:
ERRORS:
message_api.MessageModel.msg_from: (fields.E304) Reverse accessor for 'message_api.MessageModel.msg_from' clashes with reverse accessor for 'message_api.MessageModel.msg_to'.
HINT: Add or change a related_name argument to the definition for 'message_api.MessageModel.msg_from' or 'message_api.MessageModel.msg_to'.
message_api.MessageModel.msg_to: (fields.E304) Reverse accessor for 'message_api.MessageModel.msg_to' clashes with reverse accessor for 'message_api.MessageModel.msg_from'.
HINT: Add or change a related_name argument to the definition for 'message_api.MessageModel.msg_to' or 'message_api.MessageModel.msg_from'.
如何设计用于聊天的数据库table?
我正在使用 MySQL 数据库。
class MessageModel(models.Model):
message = models.CharField(max_length=200)
msg_from = models.ForeignKey(UserModel,on_delete=models.CASCADE, related_name="msg_sender")
msg_to = models.ForeignKey(UserModel,on_delete=models.CASCADE,related_name="msg_reciever")
Good advice from Willem also don't use the Model
suffix, instead name your models "Message" and "User"
我正在尝试在后端使用 Django rest 设计一个聊天应用程序
我的模型
class MessageModel(models.Model):
message = models.CharField(max_length=200)
msg_from = models.ForeignKey(UserModel,on_delete=models.CASCADE)
msg_to = models.ForeignKey(UserModel,on_delete=models.CASCADE)
但出现以下错误
SystemCheckError: System check identified some issues:
ERRORS:
message_api.MessageModel.msg_from: (fields.E304) Reverse accessor for 'message_api.MessageModel.msg_from' clashes with reverse accessor for 'message_api.MessageModel.msg_to'.
HINT: Add or change a related_name argument to the definition for 'message_api.MessageModel.msg_from' or 'message_api.MessageModel.msg_to'.
message_api.MessageModel.msg_to: (fields.E304) Reverse accessor for 'message_api.MessageModel.msg_to' clashes with reverse accessor for 'message_api.MessageModel.msg_from'.
HINT: Add or change a related_name argument to the definition for 'message_api.MessageModel.msg_to' or 'message_api.MessageModel.msg_from'.
如何设计用于聊天的数据库table? 我正在使用 MySQL 数据库。
class MessageModel(models.Model):
message = models.CharField(max_length=200)
msg_from = models.ForeignKey(UserModel,on_delete=models.CASCADE, related_name="msg_sender")
msg_to = models.ForeignKey(UserModel,on_delete=models.CASCADE,related_name="msg_reciever")
Good advice from Willem also don't use the
Model
suffix, instead name your models "Message" and "User"