2

我在同一个应用程序中有两个模型。该应用程序称为“新闻”,它的模型中有两个类,称为“文章”和“类别”。

class Category(models.Model):
    name = models.CharField(_("Name"), max_length=100)
    slug = models.SlugField(_("Slug"), max_length=100, unique=True)

class Article(models.Model):
    category = models.ForeignKey(Category, verbose_name=_("Category"))
    archived = models.BooleanField(_("Archive this?"), default=False)

我想创建一个查询,向我显示所有已归档但按类别分组的文章。

我将如何有效地做到这一点?

4

3 回答 3

3
Article.objects.filter(archived=True).order_by('category')

我正在编辑此内容以获取更多信息以尝试提供帮助。

给定:

  • 猫1
    • 艺术1
    • 艺术2存档
    • 艺术3
  • 猫2
    • 艺术4
    • 艺术5
    • art6 存档
  • 三类
    • 艺术7存档
    • art8 存档
    • 艺术9

你希望你的查询集包含什么?

于 2010-01-08T15:23:47.217 回答
3

c = Category.objects.filter(article__archived=True)

于 2010-01-14T17:58:16.290 回答
2

这不是你想要的吗?

class Article(models.Model):
    category = models.ForeignKey(Category, related_name='articles')
    archived = models.BooleanField(default=False)

categories = Category.objects.select_related("articles").filter(articles__archived=True)
于 2010-01-08T16:14:52.390 回答