28 lines
No EOL
1.2 KiB
Python
28 lines
No EOL
1.2 KiB
Python
from django.db import models
|
|
from users.models import User
|
|
|
|
# Création d'une messagerie privée pour les membres
|
|
class PrivateMessageSubject(models.Model):
|
|
receiver = models.ForeignKey(User, on_delete=models.CASCADE, related_name='received_messages')
|
|
sender = models.ForeignKey(User, on_delete=models.CASCADE, related_name='sent_messages')
|
|
subject = models.CharField(max_length=100)
|
|
is_read = models.BooleanField(default=False)
|
|
is_active = models.BooleanField(default=True)
|
|
|
|
def __str__(self):
|
|
return f'Sujet: {self.subject} (De: {self.sender.username} À: {self.receiver.username})'
|
|
|
|
class PrivateMessage(models.Model):
|
|
id = models.AutoField(primary_key=True)
|
|
subject = models.ForeignKey(PrivateMessageSubject, on_delete=models.CASCADE, related_name='messages')
|
|
author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='author_messages', default=1)
|
|
message = models.TextField()
|
|
date_sent = models.DateTimeField(auto_now_add=True)
|
|
|
|
def __str__(self):
|
|
return f'{self.author.username} ({self.date_sent})'
|
|
|
|
class Meta:
|
|
verbose_name = 'Message privé'
|
|
verbose_name_plural = 'Messages privés'
|
|
ordering = ['-date_sent'] |