ホームページ > データベース > mysql チュートリアル > Django の関連テーブルから市、州、国のデータを効率的に取得するにはどうすればよいですか?

Django の関連テーブルから市、州、国のデータを効率的に取得するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-10-29 09:28:02
オリジナル
805 人が閲覧しました

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

Django での複数のテーブルの内部結合

別のテーブルに保存されている出版物の市、州、国を表示するには、次のようにします。 Django では、select_popular() メソッドを使用して内部結合を実行できます。

<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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート