django中related_nameの使い方説明
2043 ワード
簡単なことから話します。
果物屋で二つの果物を買いました。それぞれ人参の果物と蟠桃です。果物の露店の主人は冥冥の中で自分が重宝をなくしたと感じて、1つの100歳のおじいさんと関係があるようで、自分の領収書を見てみて、商品を食べる君の勘定書を見た時に心頭はきつくて、彼が私の宝物を買っていったので、私は彼が私の何の宝物を買ったかを見てみたいです。店主は食いしん坊君の名前で彼が買った果物を見つけました。なんと万年蟠桃と億年の朝鮮人参がありました。号泣しました。
食事は何の運ですか?
次は上のエピソードに基づいて二つのモデルを定義します。それぞれ買い手モデルと果物モデルです。一つのバイヤーは複数の果物モデルに対応しています。簡単な一対のマルチモデルです。
related_nameはこの機能を実現し、表に外キーを定義すると、related(u)を追加します。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の使い方説明は小編が皆さんに提供した内容の全部です。参考にしていただければと思います。よろしくお願いします。