E 'possibile aggiungere una condizione aggiuntiva all'istruzione join creata da django ORM?condizioni aggiuntive su join in django
Che cosa ho bisogno in SQL è
'SELECT "post"."id", COUNT("watchlist"."id") FROM "post"
LEFT OUTER JOIN "watchlist"
ON ("post"."id" = "watchlist"."post_id" AND "watchlist"."user_id" = 1)
WHERE "post"."id" = 123 GROUP BY …
In django la maggior parte di questo è
Post.objects.annotate(Count('watchinglist')).get(pk=123)
ma come posso aggiungere AND "watchlist"."user_id" = …
in condizione di join con Django ORM?
Aggiungerlo al filtro non riesce a ottenere oggetti Post senza oggetti associati nella watchlist.
sembra che fa acually la stessa cosa di filtro(). Per esempio. aggiungendo un parametro a WHERE, non a ON e, quindi, fornendo risultati vuoti se non ci sono oggetti watchlist. – HoverHell
Ma, in realtà, buona idea. Ho perso il parametro "extra" di Count. Sembra che funzioni. – HoverHell
... o forse no. "extra" sembra avere uno scopo un po 'diverso. – HoverHell