Yup, kali ini saya ingin menjelaskan mengenai bagaimana cara merender data ke HTML dari data yang di query menggunakan ORM django, bukan hanya itu saja tetapi ORMnya dihasilkan dari 2 table yang di JOIN kan.
Yuk kita simak perjalanan logika scriptnya disini :
Pertama di bagian admin.py buat query dengan menggunakan ORM JOIN ke 2 table :
insured = Submission_Insured.objects.filter(submission_id=44).prefetch_related(
Prefetch(‘submission_insured’, queryset=Submission_Interest.objects.all())
)
Saya membuat parameter insured dengan merelasikan model submission_insured dengan submission_interest.
Keterangan :
- Submission_Insured = nama model / nama tabel dan di filter (WHERE) yang submission_idnya adalah 44.
- prefetch_related = sebuah ekstensi orm yang digunakan untuk merelasikan tabel / model
- Prefetch = sebuah ekstensi orm untuk meng-spesifikan, jika dalam istilah query sql adalah Where / INNER JOIN ON
- submission_insured = sebuah related_name yang sudah di define di model.py untuk model Submission_Interest
- queryset = ekstensi orm untuk membuat link join ke model mana/tabel mana, dalam contoh ini di hubungkan ke Submission_Interest
dataAll = {‘getData’:insured}
return render(request, ‘test.html’, dataAll)
Keterangan :
- Parameter dictionarynya bernama dataAll
- render ke file html dengan nama test.html menggunakan data dari parameter dictionary dataAll
Sekarang Tahapan menangkap datanya di HTML, buka HTML test.html nya dan perhatikan dibawah ini :
{% for i in getData %}
{{ i.subject }}
{% for sut in irest %}
{% if i.id == sut.submission_insured_id %}
{% endif %}
{% endfor %}
{% endfor %}
Mudah bukan ?
Selamat mencoba.!