Django多重左连接

Django多重左连接,django,django-models,Django,Django Models,我想知道如何在Django中实现以下左连接sql查询。 我已经知道Person.objects.raw() 假设以下模型: class Person(models.Model): name = models.CharField(max_length=30) class Phone(models.Model): number = models.CharField(max_length=30) person = models.ForeignKey('Person') cl

我想知道如何在Django中实现以下左连接sql查询。 我已经知道Person.objects.raw()

假设以下模型:

class Person(models.Model):
    name = models.CharField(max_length=30)

class Phone(models.Model):
    number = models.CharField(max_length=30)
    person = models.ForeignKey('Person')

class Email(models.Model):
    emailaddr = models.CharField(max_length=30)
    person = models.ForeignKey('Person')

class Home(models.Model):
    address = models.CharField(max_length=30)
    person = models.ForeignKey('Person')

我认为这应该起作用:

Person.objects.values_list(
    'name', 
    'phone__number', 
    'email__emailaddr', 
    'home__address'
)

我回答了下面的问题,因为它是快速和简单的,但我应该指出,这个问题。谢谢。这很有效。我很惊讶它会这样。我原以为您必须使用“\u set.all()”来获取外键关系的另一面。不,
\uuu
非常强大。既然成功了,你介意接受答案(打勾)吗?谢谢
Person.objects.values_list(
    'name', 
    'phone__number', 
    'email__emailaddr', 
    'home__address'
)