我该如何用Django写这个join?

2024-05-08 04:21:32 发布

您现在位置:Python中文网/ 问答频道 /正文

看看这个django代码:

filtered = Question.objects.filter(children__marked=True).distinct()
return Question.objects.exclude(id__in=filtered)

它返回所有问题的列表,除了那些已接受(标记)答案的问题。我试着让它返回问题和投票的答案。查看此SQL联接:

SELECT * from forum_node AS questions

JOIN forum_node AS answers
ON
questions.node_type = 'question' AND
answers.node_type = 'answer' AND
answers.parent_id = questions.id

WHERE
answers.score > 0 or answers.marked

现在,如何将这个连接转换成Django?你知道吗


Tags: anddjango答案代码idnodeobjectsas
1条回答
网友
1楼 · 发布于 2024-05-08 04:21:32
answered = Question.objects.filter(children__marked=True).distinct()
unanswered = Question.objects.exclude(id__in=answered) 
upvoted = Question.objects.filter(children__score__gt=0).distinct()
return unanswered | upvoted

相关问题 更多 >