アクセスを簡素化するために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 サイトの他の関連記事を参照してください。