解決したいこと
DjangoのORMを使って2個、あるいはそれ以上離れたモデルのクエリセットを取得したいです。
以下のようなモデルがあったとします
Python
1class Company(models.Model): 2 #会社モデル 3 name = models.CharField(max_length=100) 4 5class Branch(models.Model): 6 #支社モデル 7 company = models.ForeignKey(Company) 8 name = models.CharField(max_length=100) 9 10class Employee(models.Model): 11 #従業員モデル 12 Branch = models.ForeignKey(Branch) 13 name = models.CharField(max_length=100)
このとき、ある会社の支店のクエリセットは
company.branch_set.all()
で取得できます。今回やりたいのは、そこからさらに従業員までリレーションを伸ばして、ある会社の従業員のクエリセットを撮りたいと考えています。イメージとしては
company.branch_set.employee_set.all()
的なことがやりたいです。
Djangoでこのようにrelated_nameだけを使って離れた関連モデルのクエリセットを取ることはできるのでしょうか?詳しい方いらっしゃいましたらご教示お願いします。
あなたの回答
tips
プレビュー