2016-02-26 59 views
1

我是Django中的新成员。我有一个MySQL查询:Django两个内部联接

SELECT username, foto FROM a INNER JOIN b ON (a.user_id = b.id) INNER JOIN c ON (a.foto_id = c.id) 

如何在Django中编写它?

型号:

class b(models.Model): 
     username = models.CharField(max_length=30) 
     email = models.CharField(max_length=30) 
     password = models.CharField(max_length=30) 

    class c(models.Model): 
     user_id = models.IntegerField() 
     foto = models.FileField(upload_to='documents') 
     created_at = models.DateTimeField(auto_now_add=True) 

    class a(models.Model): 
     user_id = models.IntegerField() 
     foto = models.ForeignKey('c', blank=True, null=True) 
     created_at = models.DateTimeField(auto_now_add=True) 
+0

我想,如果你表现出你的模型,这将是更容易。 – Gocht

回答

3

我认为你正在寻找select_related()

A.objects.select_related('b', 'c').values('b__username', 'c__foto')