Don't know if this will work,
But if you use websockets and Django channels for real time chatting and then create an app 'chat'. In the model define:
Import your user model
Receiver: foreign key of user to receive
Sender: foreign key model of user to send
Message: text model
Time_stamp: date model
Then in views write 2 functions
1. List page for the chats based on the receiver
2. Detail page of the chats, with the messages being ordered by time stamp
Then just make your urls and make migration.
Please tell me if this won't work.