【发布时间】:2018-01-28 01:32:54
【问题描述】:
我有一个 ArticlePage 模型,它有一个 City 模型的外键,我想有效地使用 QuerySet 来获取一组模型。City 包含所有已被 ArticlePage 引用的 City 实例。
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')
所以我尝试了上述查询的多种排列方式,但都没有返回所需的结果。所有结果都是一组 ArticlePage 类型而不是 City。
我想要做的只是返回一组 City 类型的结果,其中包含 ArticlePage 引用的每个 City 对象,但我要疯狂地尝试使用 django 查询集来实现这一点,而且我当然我只是在做一些非常愚蠢的事情。在这里感谢任何建议。
【问题讨论】:
-
我不确定我是否完全理解你想要什么,但如果你想要
City实例,为什么要查询ArticlePage而不是City? -
如果您同意,我建议将问题重命名为其他人更容易搜索的内容并编辑第一句。我相信应该仍然有类似(或重复)的问题,但没有一个很容易找到,您的问题可能会有用。
-
在下面回答,我已经更新了标题和第一句话,希望它更易于搜索,如果可以更好地表达,请告诉我。