3
Djangoのクエリーセットで_set
を使用する方法がちょっと混乱しています。たとえば、オブジェクトブログb
、およびオブジェクトEntry
は、属性entry_set
によって関連付けられています。 b.entry_set.all()
の意味は?私は誰かがこの例を使って可能な出力を表示できるかどうか分かります。Djangoでクエリセットを設定する
Djangoのクエリーセットで_set
を使用する方法がちょっと混乱しています。たとえば、オブジェクトブログb
、およびオブジェクトEntry
は、属性entry_set
によって関連付けられています。 b.entry_set.all()
の意味は?私は誰かがこの例を使って可能な出力を表示できるかどうか分かります。Djangoでクエリセットを設定する
あなたが見ているものはreverse related object lookupです。あなたの例では
: - 前方関係である
class Blog(models.Model):
pass
class Entry(..):
blog = Blog(..)
さて、タイプEntry
のオブジェクトe
与え、あなたは関連オブジェクトBlog
にアクセスするにはe.blog
を行うだろう。 _set
は、あなたのために入れられる逆引き参照変数djangoです。
b
- あなたはどうなる:逆クエリセットです
entries = b.entry_set.all()
理由は、ForeignKeyのは1-to-many
関係です。したがって、その逆はクエリーセットです。
_set
オブジェクトは、related_name
is not specifiedのときに使用できます。
私たちは単にエントリ= b.entry.all()と言うことはできません。単に「セット」が何をしているのか理解しようとしていますか? – Stryker
説明を読みましたか?またリンクを通過しましたか? – karthikr
は数回読む必要がありました。私は、 '_set'という言葉は、実際に何かを設定するのではなく、関連するすべてのオブジェクトを "取得"するということです。それが私がそれを理解する方法です。 – Stryker