from django.db import models from account.models import User class Ticket(models.Model): STATUS_CHOICES = [ ('open', 'Open'), ('in_progress', 'In Progress'), ('resolved', 'Resolved'), ('closed', 'Closed'), ] subject = models.CharField(max_length=255) customer = models.ForeignKey(User, on_delete=models.CASCADE, related_name="tickets") admin = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True, related_name="assigned_tickets") status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='open') created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) def __str__(self): return self.subject class Message(models.Model): ticket = models.ForeignKey(Ticket, on_delete=models.CASCADE, related_name="messages") sender = models.ForeignKey(User, on_delete=models.CASCADE) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) def __str__(self): return f"Message by {self.sender.username} on {self.ticket.subject}"