Consulta de Django complexa sobre chaves estrangeiras
-
19-09-2019 - |
Pergunta
Eu tenho dois modelos no mesmo aplicativo. O aplicativo é chamado de "notícias" e possui duas classes em seu modelo chamado "artigo" e "categoria".
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)
Quero criar uma consulta que me mostre todos os artigos arquivados, mas agrupados por categoria.
Como eu conseguiria isso com eficiência?
Solução 2
c = category.Objects.Filter (article__archived = true)
Outras dicas
Article.objects.filter(archived=True).order_by('category')
Estou editando isso para obter mais informações para tentar ajudar.
dado:
- CAT1
- ART1
- Art2-Archivado
- ART3
- CAT2
- ART4
- ART5
- Art6-Archivado
- CAT3
- Art7-arco
- Art8-arco
- ART9
O que você gostaria que seu consulta conter?
Não é isso que você quer?
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)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow