0

我在 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)
4

1 回答 1

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)

查看文档中的性能注意事项部分。

于 2013-01-31T18:02:10.970 回答