title: Django model inner join ORM issues
body: <p>suppose I have the following three models, see as follow: I wanna to construct a Django model query to archive the same effect as the following SQL statement.</p>
  
  <p><strong>SQL statement</strong></p>
  
  <pre><code>select B.value, C.special
  from B inner join C 
  where B.version = C.version and B.order = C.order;
  </code></pre>
  
  <p>I got the following three models:</p>
  
  <pre><code>class Process(models.Model):
      name = models.CharField(max_length=30)
      description = models.CharField(max_length=150)
  
  class ProcessStep(models.Model):
      process = models.ForeignKey(Process)
      name = models.CharField(max_length=30)
      ...
      order = models.SmallIntegerField(default=1)
      version = models.SmallIntegerField(null=True)
  
  class Approve(models.Model):
      process = models.ForeignKey(Process)
      content = models.CharField(max_length=300)
      ...
      version = models.SmallIntegerField(null=True)
      order = models.SmallIntegerField(default=0)
  </code></pre>
  
  <p>I want to find all Approves that have the same (version, order) tuple matching against the ProcessStep model. </p>