· 8 months ago · Mar 10, 2025, 12:55 PM
1class Ticket(models.Model):
2 id = models.AutoField(primary_key=True)
3 ticket_priority = models.ForeignKey(TicketPriority, models.SET_NULL, db_column='ticket_priority', blank=False, null=True)
4 ticket_subject = models.CharField(max_length=300, blank=False, null=False)
5 ticket_description = models.CharField(max_length=1000, blank=True, null=False)
6 created_at_dtm = models.DateTimeField(auto_now_add=True)
7 closed_at_dtm = models.DateTimeField(blank=True, null=True)
8 answered_at_dtm = models.DateTimeField(blank=True, null=True)
9 ticket_type = models.ForeignKey(TicketType, models.SET_NULL, db_column='ticket_type', blank=False, null=True)
10 ticket_status = models.ForeignKey(TicketStatus, models.SET_NULL, db_column='ticket_status', blank=False, null=True)
11 request_id = models.ForeignKey(Request, models.CASCADE, blank=False, null=False)
12 creator = models.ForeignKey(Employee, models.SET_NULL, db_column="ticket_creator", related_name="created_tickets",blank=False, null=True)
13 tech_sup_responder = models.ForeignKey(Employee, models.SET_NULL, related_name="responded_tickets",blank=False, null=True)
14
15
16
17class Discussion(models.Model):
18 id = models.AutoField(primary_key=True)
19 ticket = models.ForeignKey(Ticket, models.CASCADE, blank=False, null=False)
20 created_at_dtm = models.DateTimeField(blank=False, null=False)
21
22
23class Message(models.Model):
24 id = models.AutoField(primary_key=True)
25 discussion = models.ForeignKey(Discussion, models.CASCADE, blank=False, null=False)
26 employee = models.ForeignKey(Employee, models.SET_NULL, blank=False, null=True)
27 message_text = models.CharField(max_length=500, blank=True, null=False)
28 created_at_dtm = models.DateTimeField(auto_now_add=True)
29
30
31class Employee(models.Model):
32 id = models.AutoField(primary_key=True)
33 password = models.CharField(max_length=300, blank=False, null=False)
34 login = models.CharField(max_length=100, blank=False, null=False)
35 full_name = models.CharField(max_length=100, blank=False, null=False)
36 employee_role = models.ForeignKey(EmployeeRole, models.DO_NOTHING, db_column='employee_role', blank=False, null=True)
37