title: How would you model in django a hierarchy of objects where one type might has itself as a child?
body: <p>I would like to model the following hierarchy in Django, but don't really know how to approach the Opportunity relationships to other Opportunities and/or Solutions.</p>
  <pre><code>Outcome
  |- Opportunity 1
  |  |- Opportunity 1.1
  |  |  |- Solution 1
  |  |  |- Solution 2
  |  |- Opportunity 1.2
  |    |- Solution 3
  |    |- Solution 4
  |- Opportunity 2
     |- Solution 5
     |- Solution 6
  </code></pre>
  <ul>
  <li>Each outcome has many Opportunities.</li>
  <li>Each Solution belongs to an Opportunity.</li>
  <li>Opportunities might either have many Opportunities or many Solutions, but not both.</li>
  <li>Sub-opportunities can not have more Opportunities, just Solutions.</li>
  </ul>