django中related_nameの使い方説明


簡単なことから話します。
果物屋で二つの果物を買いました。それぞれ人参の果物と蟠桃です。果物の露店の主人は冥冥の中で自分が重宝をなくしたと感じて、1つの100歳のおじいさんと関係があるようで、自分の領収書を見てみて、商品を食べる君の勘定書を見た時に心頭はきつくて、彼が私の宝物を買っていったので、私は彼が私の何の宝物を買ったかを見てみたいです。店主は食いしん坊君の名前で彼が買った果物を見つけました。なんと万年蟠桃と億年の朝鮮人参がありました。号泣しました。
食事は何の運ですか?
次は上のエピソードに基づいて二つのモデルを定義します。それぞれ買い手モデルと果物モデルです。一つのバイヤーは複数の果物モデルに対応しています。簡単な一対のマルチモデルです。

class Buyer(models.Model):
  name = models.CharField(verbose_name='   ', max_length=10) 
  Alipay_id = models.CharField(verbose_name='     ') 
  age = models.IntegerField(verbose_name='    ',blank = True)
 
class Fruit(models.Model): 
  buyer = models.ForeignKey(Buyer, related_name='buyer_fruit') 
  fruit_name = models.CharField(verbose_name='   ', max_length=10) 
  weight = models.FloatField(verbose_name='    ') 
普通、どの果物を買ったかを調べます。まず条件によって買い手の情報を見つけて、買い手の情報によって買い手が買った果物を見つけます。この例は次の通りです。

#                  :
buyer = Buyer.objects.filter(age = 100).first()
 
#    ‘_set'          :
fruits = buyer.fruit_set.all() 
"""
django                    ,                     。                     _set()   ,        buyer,   fruit,           fruit_set
"""
上のflut_setはdjangoを対象としたbuyerデフォルトで作成された外鍵の属性です。個人的にはユーザー定義でメインテーブルの外鍵を定義することを提案します。
related_nameはこの機能を実現し、表に外キーを定義すると、related(u)を追加します。nameフィールドは、このフォントがメインテーブルに対応する外キーの属性を指定します。
以下のとおりです

class Fruit(models.Model): 
  buyer = models.ForeignKey(Buyer, related_name='buyer_fruit') 
"""
  :buyer
  :fruit
             :related_name='buyer_fruit'
"""
じゃ、私達はユーザー定義のキーで必要な情報を見つけることができます。

#                  :
buyer = Buyer.objects.filter(age = 100).first()
 
#                      :
fruits = buyer.buyer_fruit.all() 
以上のdjangoの中でrelated_nameの使い方説明は小編が皆さんに提供した内容の全部です。参考にしていただければと思います。よろしくお願いします。