Можно ли добавить дополнительное условие для объединения, созданного django ORM?Дополнительные условия для присоединения к django
Что мне нужно в 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 …
В Джанго большинство это
Post.objects.annotate(Count('watchinglist')).get(pk=123)
Но как я могу добавить AND "watchlist"."user_id" = …
в РЕГИСТРИРУЙТЕСЬ состояние с Джанго ОРМ?
Добавление этого фильтра в фильтр не позволяет получить объекты Post без связанных объектов в списке наблюдения.
Похоже acually делает то же самое, что и фильтр(). Например. добавление одного параметра в WHERE, а не в ON, и, следовательно, предоставление пустого результата, если нет объекта просмотра. – HoverHell
Но, на самом деле, хорошая идея. Я пропустил параметр «лишний» графа. Похоже, это работает. – HoverHell
... или нет. «Дополнительно», похоже, имеет несколько другую цель. – HoverHell