#DJANGO - Мне нужно отобразить две (или более) строки таблицы в моем представлении, в настоящее время я могу отобразить только одну из строк.
Здравствуйте люди, я работаю с созданием тикета и есть связь 1-N, (тикет может иметь несколько сообщений)
У меня есть представление, которое создает тикет, в процессе создания добавляется сообщение - Все прямо здесь
У меня есть представление, которое добавляет новое сообщение в билет(ы), тем самым "активируя" 1-N - Все прямо здесь
У меня есть детальный просмотр билетов (код ниже) - Здесь начинается моя трудность
def ticket_by_id(request, ticket_id, message_id):
mesTicket = MessageTicket.objects.get(pk=message_id)
ticket = Ticket.objects.get(pk=ticket_id)
return render(request, 'support/ticket_by_id.html', {'ticket': ticket, 'messageticket': mesTicket})
приведенный выше код представления работает, когда билет имеет только одно сообщение, но как я могу отобразить несколько сообщений в этом представлении?
Простите, но использование изображений здесь было неизбежно
Например, на изображении ниже показана моя база данных, выделены две строки, которые связаны с тикетом 9
база данных, выделенная в сообщениях тикета 9
Ниже приведено изображение детального просмотра моего билета
Как я должен отобразить в представлении два сообщения (или 3, или 4, в любом случае... больше одного), которые связаны с билетом, как я бы показал в представлении (изображение 2) строки 9 и 12 (в настоящее время отображается только первая зарегистрированная строка, связанная с билетом, в данном случае строка 9 таблицы) моей таблицы, которые составляют 1-N с билетом 9 (изображение 1)
Прежде всего, почему ваше сообщение не получает id вашего тикета, это облегчило бы вашу работу
Второе, чтобы вывести несколько "messageticket", нужно использовать что-то вроде:
{% for t in messageticket %}
<tr>
<td>Content: </td>
<td>{{ t.content }}</td>
</tr>
{% endfor %}
Необходимо выполнить цикл. Поскольку я не знаю, как делается messageTicket, я не могу вам помочь.
Но если messageticket имеет foreign_key к Ticket, то вы должны быть в состоянии получить доступ к нему через ticket с помощью ticket.messageticket_set (messageticket_set может быть изменен, если "related_name=" используется в вашем поле foreign_key) https://docs.djangoproject.com/en/4.0/topics/db/examples/many_to_one/
и там у вас будет весь ваш messageticket
Надеюсь, это поможет =)