Django不支持select_related()
反向外键查找的方法,因此,最好的方法是在不离开Python的情况下进行两个数据库查询。第一个是获取Makes
包含MakeContentswhere
的所有内容published = True
,第二个是获取所有MakeContentswhere
的内容published = True
。然后,你必须遍历并按需要排列数据。
是的,我想你想要
make = Make.objects.get(pk=1)
make.make_content_set.filter(published=True)
或许
make_ids = MakeContent.objects.filter(published=True).values_list('make_id', flat=True)
makes = Make.objects.filter(id__in=make_ids)