将两个模型中的数据添加到Django中的一个表中?

时间:2018-10-21 17:49:18

标签: html django django-models html-table datatables

我正在尝试将两个模型中的数据添加到一个表中。它们通过外键链接。我已经搜索了论坛,但是找不到适合我的数据的方法。

目前,我可以在表格中显示单个模型数据,而不能显示其他数据。我正在使用MySQL作为数据库。

我的models.py文件:

class location(models.Model):
    loc_room = models.CharField(max_length=20, blank=True, null=True)
    loc_block = models.IntegerField(blank=True, null=True)
    loc_shelf = models.CharField(max_length=4, blank=True, null=True)

class box(models.Model):
    box_contents = models.CharField(max_length=300, blank=True, null=True) 
    project_assigned_to = models.ForeignKey('project', null=True)
    location_id = models.ForeignKey('location', null=True)

我的views.py文件:

def all_assets(request):
    box_data = box.objects.all()
    return render(request, 'main_app/all_assets.html', { "box_data":box_data 
})

我的桌子:

<thead>
    <tr>
        <th>Assets</th>
        <th>Project</th>
        <th>Room</th>
        <th>Block</th>
        <th>Shelf</th>
    </tr>
</thead>
<tbody>
    {% for item in box_data %}
    <tr>
    <td>{{ item.box_contents }}</td>
    <td>{{ item.project_assigned_to }}</td>
    <td>**Here I need to add data from ROOM**</td>
    <td>**Here I need to add data from BLOCK**</td>
    <td>**Here I need to add data from SHELF**</td>
</tr>
{% endfor %}
</tbody>
</table>

我希望有人可以帮助我。我一直在尝试论坛上的所有解决方案,但无法使用我的数据。我最接近的是Django query to join records of two tables,但是我再也无法正常工作了:(

1 个答案:

答案 0 :(得分:0)

尝试{{item.location_id.loc_room}}