加入两个对象集合

时间:2012-02-12 02:23:18

标签: python django join

我有两个模型,一个名为Exam,另一个名为Grades

考试有主键 id 。成绩有外键 exam_id

我希望所有在等级表中都有条目的考试。

这就是我所拥有的:

grades = Grades.objects.all()
exams = Exam.objects.all().filter(grades__exam__id = id)

我收到此错误:

  

/ error>中的TypeError

     

id()只接受一个参数(给定0)

你能帮帮我吗?

2 个答案:

答案 0 :(得分:1)

问题在于id is a Python built-in

答案 1 :(得分:0)

您的错误id() takes exactly one argument (0 given)是因为您正在引用未定义的变量,因此它正在尝试调用内置的默认ID。

要查找所有具有FK成绩的人,您可以这样做:

exams = Exam.objects.all().filter(grades__exam__id__isnull=False)