related_nameは何に使用されますか? 質問する

related_nameは何に使用されますか? 質問する

およびフィールドrelated_nameで 引数が役立つのはどのような場合ですか? たとえば、次のコードの場合、 の効果は何ですか?ManyToManyFieldForeignKeyrelated_name='maps'

class Map(db.Model):
    members = models.ManyToManyField(User, related_name='maps',
                                     verbose_name=_('members'))

ベストアンサー1

このrelated_name属性は、モデルから自分のモデルへの逆リレーションの名前を指定しますUser

を指定しない場合、Django は、たとえば というrelated_nameサフィックスが付いたモデル名を使用して を自動的に作成します。_setUser.map_set.all()

たとえば、モデルに を指定するとは引き続き機能しますが、構文は明らかに少し簡潔で扱いやすくなっています。たとえば、ユーザー オブジェクト がある場合、 を使用して と関係のあるモデルのすべてのインスタンスを取得できます。related_name=mapsUserUser.map_setUser.maps.current_usercurrent_user.maps.all()Mapcurrent_user

Django ドキュメント詳細はこちらをご覧ください。

おすすめ記事