Django related_name跟在后面

时间:2013-01-31 17:40:48

标签: django

我在Django中有以下模型:

class Feedback(models.Model):
    solution=models.ForeignKey(Solution, related_name='solution1')
    idea=models.ForeignKey(Idea,null=True, blank=True,related_name='idea1')
    idea2=models.ForeignKey(Idea, related_name='idea2') 

考虑到解决方案的ID,我如何编写一个查询来检索我使用此解决方案反馈的所有想法2。我想知道它是否可能在Django。非常感谢!  我尝试过类似的东西,但是如何指定我在寻找idea2,而不是idea1?

ideas2= Idea.objects.filter(feedback_solution1=solutionID)

1 个答案:

答案 0 :(得分:2)

feedbacks = list(Feedback.objects.filter(solution=solutionID).values_list('idea2__pk', flat=True))
ideas2 = Idea.objects.filter(pk__in=feedbacks)

或者

feedbacks = list(Feedback.objects.filter(solution=solutionID).values_list('idea2__pk', flat=True))
ideas2 = Idea.objects.in_bulk(feedbacks)

查看Documentation

中的效果注意事项部分