Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mendapatkan Data Bandar, Negeri dan Negara dengan Cekap daripada Jadual Berkaitan di Django?
Penyertaan Dalaman Berbilang Jadual dalam Django
Untuk memaparkan bandar, negeri dan negara penerbitan, yang disimpan dalam jadual berasingan, anda boleh melakukan gabungan dalaman dalam Django menggunakan kaedah select_related().
<code class="python">pubs = publication.objects.select_related('country', 'country_state', 'city')</code>
Pertanyaan ini akan menghasilkan pernyataan SQL yang serupa dengan:
<code class="sql">SELECT "publication"."id", "publication"."title", ..., "country"."country_name", ... FROM "publication" INNER JOIN "country" ON ( "publication"."country_id" = "country"."id" ) INNER JOIN "countrystate" ON ( "publication"."countrystate_id" = "countrystate"."id" ) INNER JOIN "city" ON ( "publication"."city_id" = "city"."id" )</code>
Kursor pub yang dikembalikan mengandungi objek dengan nilai jadual berkaitan telah dipraisi, membolehkan anda mengaksesnya tanpa hits pangkalan data tambahan:
<code class="html">{% for p in pubs %} {{ p.city.city_name}} # p.city has been populated in the initial query # ... {% endfor %}</code>
Pendekatan ini cekap dan menghalang pertanyaan yang tidak perlu untuk mendapatkan semula data berkaitan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Data Bandar, Negeri dan Negara dengan Cekap daripada Jadual Berkaitan di Django?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!