Использование ForeignKey в Django
У меня есть эта "система" микро-билетов
\\\models.py
class Ticket(models.Model):
user = models.ForeignKey(
settings.AUTH_USER_MODEL,
default=None,
null=True,
on_delete=models.CASCADE,
)
title = models.CharField(max_length=200)
description = models.TextField()
creator_adress = models.GenericIPAddressField(null=True)
start_date = models.DateTimeField(default=timezone.now)
ticket_waiting = models.BooleanField(default=True)
ticket_solved = models.BooleanField(default=False)
reopened_counter = models.IntegerField(default=0)
...
До сих пор пользователь может отправить только одно сообщение (когда он открывает тикет), которое будет переслано администратору. Но администратор и пользователь пока не могут писать никаких других сообщений туда и обратно под тикетом.
Если вы используете для этого новую модель, которая связана с каждым отдельным тикетом, как это делается?
class TicketMessages(models.Model):
ticket = models.ForeignKey(Ticket, on_delete=models.CASCADE)
admin_message = models.TextField()
user_message = models.TextField()
Каким образом лучше всего это реализовать?
Большое спасибо :>
вы можете эффективно достичь этого с помощью следующего метода,
создайте модель для сообщения о билете :-
class TicketMessages(models.Model):
ticket = models.ForeignKey(Ticket, on_delete=models.CASCADE)
message = models.TextField() #this will be the message
message_by = # you can use a foreign key or a choices option to select between the admin or user
reply_to = models.ForeignKey("self") # if this is a reply to existing message
Это хорошее и эффективное решение, насколько я понимаю вашу проблему .... Если вам нужно что-то еще или что-то большее, дайте мне знать, я с удовольствием помогу вам.
Спасибо!