Files
hossein-por-shop/backend/ticket/models.py
T
2024-12-14 14:28:47 +03:30

29 lines
1.1 KiB
Python

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}"