如何使用Django ORM显示另一个表中的字段?

时间:2017-01-01 16:43:59

标签: python django

我在显示另一个表中的字段时遇到问题,其中两个表有关系。

这是我的第一个模特:

class DataPribadiSiswa(models.Model):
     SiswaID = models.AutoField(primary_key=True)
     WaliKelasID = models.CharField(max_length=11, blank=True, null=True)

我的第二个模特:

class transaksi_kas(models.Model):
     id_kas = models.AutoField(primary_key=True)
     siswaID_trans = models.ForeignKey(DataPribadiSiswa, null=True, blank=True)
     kelas = models.CharField(max_length=1, null=True, blank=True)

这是我的views.py:

def transaksi_index(request):
     transaksi = {}
     transaksi['transaksikas'] = transaksi_kas.objects.select_related('siswaID_trans')
     return render(request, 'kastransaksi/transaksi_index.html', transaksi)

这是模板:

<table id="simple-table" class="table table-striped table-bordered table-hover">
    <tr>
        <th>No.</th>
        <th>Nama</th>
        <th>Wali Murid</th>
        <th>Kelas</th>
    </tr>
    {% for kas in transaksikas%}
    <tr>
        <td>{{ forloop.counter }}</td>
        <th>{{ kas.siswaID_trans }}</th>
        <td>{{ kas.WaliKelasID }}</td>
        <td>{{ kas.kelas }}</td>
    </tr>
    {% endfor %}
</table>

如何在DataPribadiSiswa中显示{{ kas.WaliKelasID }}

2 个答案:

答案 0 :(得分:0)

在此之后

transaksi['transaksikas'] = transaksi_kas.objects.select_related('siswaID_trans')您必须进行查询getfilter或其他。

示例:

transaksi['transaksikas'] = transaksi_kas.objects.select_related('siswaID_trans').get(id=id)

transaksi['transaksikas'] = transaksi_kas.objects.select_related('siswaID_trans').filter(your query)

这是link

答案 1 :(得分:0)

我认为您的意思是执行以下操作

{{ kas.siswaID_trans.WaliKelasID }}