'How to add two foreign keys in message table of same(user) table as foreign keys? [duplicate]
I am trying to design a chatting app using Django rest at the backend
My Model
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)
but it gives the following error
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'.
How can I design a database table for chatting? I am using MySQL database.
Solution 1:[1]
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
Modelsuffix, instead name your models "Message" and "User"
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | oruchkin |
