#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

Надеюсь, это поможет =)

Вернуться на верх