ホームページ > バックエンド開発 > Python チュートリアル > Django の `ManyToManyField` と `ForeignKey` の関連モデルへのアクセスを `popular_name` で簡素化する方法は何ですか?

Django の `ManyToManyField` と `ForeignKey` の関連モデルへのアクセスを `popular_name` で簡素化する方法は何ですか?

Barbara Streisand
リリース: 2024-12-06 21:44:16
オリジナル
219 人が閲覧しました

How Does `related_name` Simplify Access to Related Models in Django's `ManyToManyField` and `ForeignKey`?

アクセスを簡素化するためにManyToManyFieldおよびForeignKeyにRelational_nameを適用する

質問:

とは何ですか? ManyToManyField フィールドとForeignKey フィールドの関連名引数の目的は何ですか?以下の例を考えてみましょう:

class Map(db.Model):
    members = models.ManyToManyField(User, related_name='maps',
                                     verbose_name=_('members'))
ログイン後にコピー

User モデルでの relationship_name='maps' の定義の影響は何ですか?

答え:

Associated_name 属性は、参照モデル (この場合はユーザー) から現在のモデルへの逆方向の関係の名前を定義します。 (地図)。通常、Django はサフィックス _set を使用して逆の関係を自動的に作成しますが、カスタムの relationship_name を指定すると、関連オブジェクトにアクセスするためのより簡潔な方法が提供されます。

提供された例では、current_user という名前の User オブジェクトがある場合、 current_user.maps.all() を使用して、関連付けられたマップにアクセスできます。これは、デフォルトの逆関係構文である current_user.map_set.all() よりも便利です。

relation_name を ' ' に設定して、逆関係の作成を完全に無効にすることもできます。

以上がDjango の `ManyToManyField` と `ForeignKey` の関連モデルへのアクセスを `popular_name` で簡素化する方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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