from django.contrib.auth.models import AbstractUser from django.db import models # Create your models here. class User(AbstractUser): allow_notes_from = models.ManyToManyField('User', related_name='allowed_notes_to', blank=True) expiry_seconds = models.PositiveIntegerField(default=86400) class Note(models.Model): from_user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='created_notes') to_user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, related_name='received_notes') note = models.TextField() expiry = models.DateTimeField() created_at = models.DateTimeField(auto_now_add=True) def __str__(self): return f"{self.from_user.username} -> {self.to_user.username}: {self.note[:30]}"