title: A left outer reverse select_related in Django?
body: <p>Imagine the following model:</p>
  
  <pre><code>class Parent(Model):
      ...
  
  class Child(Model)
      father = ForeignKey(Parent)
      ...
  </code></pre>
  
  <p>Some parents have children, others do not (they're not parents in the real meaning, it's just a fictional name).</p>
  
  <p>I would like to make the following query: I want to list <strong>all the Parents</strong>, and if they have children, <strong>bring me the children too</strong>. That would be the equivalent of a left outer join to Child table, that is:</p>
  
  <pre><code>select * from app_parent left join app_child on child_father_id=parent_id
  </code></pre>
  
  <p>This way, when I invoke <strong>Parent.child_set</strong> in my template, I won't hit the database a gazillion times. Is there a way to do that?
  Thanks</p>