在Django ORM中,是否可以为JOIN语句添加其他条件?
我需要的是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 …
在 Django 中,大部分都是这样的。Post.objects.annotate(Count('watchinglist')).get(pk=123)
但是我该如何使用django ORM将AND "watchlist"."user_id" = …
添加到JOIN条件中?
将其添加到过滤器中无法获取没有关联对象的Post对象。