from django.db import models from django.contrib.auth.models import User import uuid # Create your models here. class Invitation(models.Model): token = models.UUIDField(default=uuid.uuid4, unique=True, editable=False) created_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name='created_invitations') created_at = models.DateTimeField(auto_now_add=True) expires_at = models.DateTimeField() used_at = models.DateTimeField(null=True, blank=True) @property def is_valid(self): from django.utils import timezone return self.used_at is None and self.expires_at > timezone.now()