Estou tendo um erro ao consultar o banco

15 views
Skip to first unread message

Alvaro Teixeira Silva

unread,
Aug 3, 2022, 2:05:12 PMAug 3
to Django Brasil
Bom dia meus amigos, sou iniciante em programação estou desenvolvendo um blog simples, estou com erro de sql, sei que deve ser coisa besta mas como sou bem iniciante nao consegui ir pra frente.   

 def get_queryset(self):
        qs = super().get_queryset()
        qs = qs.order_by('-id')
        qs = qs.annotade(
            numero_comentarios=Count(
                Case(
                    When(Comentario__publicado_comentario=True, then=1)
                )
            )
        )

        return qs

mensagem de erro:

AttributeError: 'QuerySet' object has no attribute 'annotade'

André Baptista

unread,
Aug 3, 2022, 3:51:23 PMAug 3
to django...@googlegroups.com
Salve Alvaro, annotade está escrito errado, o certo seria annotate

--
Você recebeu essa mensagem porque está inscrito no grupo "Django Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para django-brasi...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/django-brasil/34548674-7086-46f8-9051-3632d8bf4ce6n%40googlegroups.com.


--

att,
André P. Baptista
+55 (55) 9167.9256
Dev

Alvaro Teixeira Silva

unread,
Aug 4, 2022, 10:11:10 AMAug 4
to django...@googlegroups.com
Bom dia meu amigo, valeu demais meu amigo, foi um erro muito óbvio, mas é isso vamos que vamos kkk

Você recebeu essa mensagem porque está inscrito em um tema no grupo "Django Brasil" dos Grupos do Google.
Para cancelar inscrição nesse tema, acesse https://groups.google.com/d/topic/django-brasil/yfQ1YYXP8Zg/unsubscribe.
Para cancelar inscrição nesse grupo e todos os seus temas, envie um e-mail para django-brasi...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/django-brasil/CAKbbGzhWkRTY9Wbs1MwhNOSwiWmUkvVZeAvdyEZVyAhhOJO1mA%40mail.gmail.com.

Adilson Nascimento

unread,
Aug 4, 2022, 10:40:59 AMAug 4
to django...@googlegroups.com
Andre, bom dia.

Analisando rapidamente, nas instruções SQL quando se usa a cláusula Case When, note como funciona:

SELECT player_name, year, CASE WHEN year = 'SR' THEN 'yes' ELSE NULL END AS is_a_senior FROM benn.college_football_players

No seu caso acho que o correto seria assim:

Case(
                    When(Comentario__publicado_comentario=True, then=1 else 0 End)

Espero ter ajudado.

Em qua., 3 de ago. de 2022 às 16:51, André Baptista <andre...@gmail.com> escreveu:

Alvaro Teixeira Silva

unread,
Aug 4, 2022, 2:08:05 PMAug 4
to Django Brasil
Boa tarde meu amigo, valeu mesmo pelas dicas, comunidade muito acolhedoura valeu mesmo
Reply all
Reply to author
Forward
0 new messages