Django渴望以多对多方式加载

Django渴望以多对多方式加载,django,orm,inner-join,django-orm,eager-loading,Django,Orm,Inner Join,Django Orm,Eager Loading,那是许多模型 class FacultyMember(models.Model): # some attributes class Publication(models.Model): # some attributes author = models.ManyToManyField(FacultyMember, blank=True) class Project(models.Model): # some attributes researchers

那是许多模型

class FacultyMember(models.Model):
    # some attributes

class Publication(models.Model):
    # some attributes
    author = models.ManyToManyField(FacultyMember, blank=True)

class Project(models.Model):
    # some attributes
    researchers = models.ManyToManyField(FacultyMember, blank=True) 
我想获得FacultyMember与所有相关的项目和出版物,并渴望加载

我尝试了一些类似以下代码的东西

FacultyMember.objects.filter(
    pk=id,
    first_name=first_name,
    last_name=last_name
).select_related('project_set').select_related('publication_set')
但是它不起作用


如何在django orm中加入相关字段并进行即时加载。

许多使用预取相关

FacultyMember.objects.filter(
pk=id,
first_name=first_name,
last_name=last_name
).prefetch_related('project_set').prefetch_related('publication_set')
参考这里