#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(的1-N

我的html页面:

{% extends 'web/base.html' %}
{% block title %} Ticket #{{ticket.id}} {% endblock %}
{% block content %}
<div class="ticket">
<table class="styled-table">
<h2> Ticket #{{ticket.id}}</h2>
<style>
td {
padding: 15px;
}
</style>
<br>
<tbody>
<tr>
<td>ID: </td>
<td>{{ticket.id}}</td>
</tr>
<tr>
<td>Author: </td>
<td>{{messageticket.author_id}}</td>
</tr>
<tr >
<td>Status: </td>
<td>{{ticket.status}}</td>
</tr>
<tr>
<td>Content: </td>
<td>{{messageticket.content}}</td>
</tr>
<tr>
<td>Created At: </td>
<td>{{ticket.created_at}}</td>
</tr>
</tbody>
</table>
</div>
{% endblock %}

首先,为什么您的消息没有与您的票证id一起提取,这将简化您的工作

第二次打印多个";messageticket";你应该使用这样的东西:

{% for t in messageticket %}
<tr>
<td>Content: </td>
<td>{{ t.content }}</td>
</tr>
{% endfor %}

需要一个循环。由于我不知道messageTicket是如何完成的,我真的帮不了你。

但是,如果messageticket有一个foreign_key到Ticket,那么你应该能够通过Ticket.messageticket_set的Ticket访问它https://docs.djangoproject.com/en/4.0/topics/db/examples/many_to_one/

然后你就有了所有的短信票

希望有帮助

最新更新