首頁 >資料庫 >mysql教程 >如何從 Django 的相關表格中高效檢索城市、州和國家/地區資料?

如何從 Django 的相關表格中高效檢索城市、州和國家/地區資料?

Barbara Streisand
Barbara Streisand原創
2024-10-29 09:28:02779瀏覽

How Can I Efficiently Retrieve City, State, and Country Data from Related Tables in Django?

Django 中的內連接多個表

要顯示儲存在單獨表中的出版物的城市、州和國家/地區,您可以使用select_lated() 方法在Django 中執行內部聯結。

<code class="python">pubs = publication.objects.select_related('country', 'country_state', 'city')</code>

此查詢將產生類似於以下的SQL 語句:

<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>

傳回的pubs 遊標包含預先填入相關表的值,讓您無需額外的資料庫命中即可存取它們:

<code class="html">{% for p in pubs %}
    {{ p.city.city_name}}  # p.city has been populated in the initial query
    # ...
{% endfor %}</code>

這種方法非常高效,可以防止不必要的查詢來檢索相關資料。

以上是如何從 Django 的相關表格中高效檢索城市、州和國家/地區資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn