のセットからオブジェクトを返すためにselect_related使用して、私は市のモデルにforiegnkeyを持っているArticlePageモデルを持っている、と私は効率的にすべて含むmodels.Cityのセットを取得するクエリセットを使用したいですArticlePageによって参照されているCityインスタンス。Djangoのクエリセット:外部キー
class ArticlePage(Page):
#...
city = models.ForeignKey(City, on_delete=models.PROTECT, null=True)
#...
は、次にビューで:
qs = ArticlePage.objects.filter(city__isnull=False).filter(city__name__icontains=self.q).select_related('city')
だから私は、上記のクエリの多くの順列を試してみた、そしてそれらのどれも望ましい結果を返しません。すべての結果は、Cityの代わりにArticlePageタイプのセットです。
私がしようとしているのは、ArticlePageによって参照されるすべてのCityオブジェクトを含むCityタイプの結果のセットを返すことですが、これはジャンゴクエリーセットで起こるようにしようとして狂ってしまいます。私はちょうど非常にばかげた何かをやっていると確信ここでアドバイスをお待ちしています。
を助ける願っていますあなたが 'City'インスタンスを望むなら、なぜ' City'の代わりに 'ArticlePage'をクエリしていますか? – knbk
あなたが同意する場合、私は、最初の文を他の人に容易に検索可能なものへの質問の名前を変更し、編集することをお勧めします。私は、まだ(または重複して)似たような質問があるはずだと信じていますが、誰も簡単に見つけられず、あなたの質問は役に立ちます。 – hynekcer
は、私はうまくいけば、それはよりよい言葉で表現することができれば、私に知らせて、より検索可能にタイトルと最初の文を更新した、以下の答え。 – Cerzi