Anda ingin memaparkan bandar, negeri dan negara penerbitan maklumat dalam templat HTML. Walau bagaimanapun, butiran ini disimpan dalam jadual pangkalan data yang berasingan.
Model yang berkaitan dalam fail models.py anda ialah:
Anda mahu menulis pertanyaan SQL yang setara dalam paparan Django anda menggunakan struktur berikut:
<code class="sql">SELECT p.user_id, p.title, c.cuntry_id, c.country_name, s.state_id, s.state_name, y.city_id, y.city_name FROM publication AS p INNER JOIN country AS c ON c.id = p.country_id INNER JOIN countrystate AS s ON s.id = p.countrystate_id INNER JOIN city AS y ON y.id = p.city_id</code>
Untuk melakukan gabungan dalaman dalam Django, gunakan kaedah select_related() pada set pertanyaan penerbitan:
<code class="python">pubs = publication.objects.select_related('country', 'country_state', 'city')</code>
Ini akan menghasilkan satu pertanyaan yang bergabung jadual penerbitan dengan jadual negara, negeri dan bandar yang berkaitan. Objek yang terhasil akan mempunyai akses kepada data yang digabungkan melalui atribut objek, menghapuskan keperluan untuk pertanyaan pangkalan data tambahan.
Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Menyertai Jadual Berkaitan dengan Cekap dalam Model Django untuk Maklumat Penerbitan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!