Django使用许多对象进行查询过滤

时间:2014-01-24 08:29:49

标签: python django django-models

抱歉,我无法想象我的问题更好的标题

我有两个过滤器

themes = Theme.objects.filter(grade = st.grade) # returns many objects
tests = Test.objects.filter(theme=themes) 

我想返回所有对象,它们等于来自主题的任何对象,但它只返回对象,然后等于来自主题的第一个对象

2 个答案:

答案 0 :(得分:3)

如果Test中的主题为ForeignKeyTheme,您可以在一个查询中执行此操作:

tests = Test.objects.filter(theme__grade=st.grade)

答案 1 :(得分:2)

使用in

tests = Test.objects.filter(theme__in=themes)