Closed Edb83 closed 1 year ago
class Request(models.Model):
sender = models.ForeignKey(User, on_delete=models.CASCADE, related_name='sent_requests')
receiver = models.ForeignKey(User, on_delete=models.CASCADE, related_name='received_requests')
created_at = models.DateTimeField(auto_now_add=True)
accepted = models.BooleanField(default=False)
class DirectMessage(models.Model):
sender = models.ForeignKey(User, on_delete=models.CASCADE, related_name='sent_messages')
receiver = models.ForeignKey(User, on_delete=models.CASCADE, related_name='received_messages')
message = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
class Topic(models.Model):
name = models.CharField(max_length=255)
class Thread(models.Model):
topic = models.ForeignKey(Topic, on_delete=models.CASCADE, related_name='threads')
title = models.CharField(max_length=255)
body = models.TextField() # maybe Summernote?
author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='threads')
created_at = models.DateTimeField(auto_now_add=True)
class Message(models.Model):
thread = models.ForeignKey(Thread, on_delete=models.CASCADE, related_name='messages')
author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='messages')
message = models.TextField() # maybe Summernote?
parent_message = models.ForeignKey('self', on_delete=models.CASCADE, related_name='child_messages', null=True, blank=True)
created_at = models.DateTimeField(auto_now_add=True)
class Response(models.Model):
message = models.ForeignKey(Message, on_delete=models.CASCADE, related_name='responses')
author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='responses')
response = models.TextField() # maybe Summernote?
parent_response = models.ForeignKey('self', on_delete=models.CASCADE, related_name='child_responses', null=True, blank=True)
created_at = models.DateTimeField(auto_now_add=True)```
Likely models:
forum
thread
topic
message (how to handle children/parents?)
friendship (user/user)
group (M2M with users)