title: Is it possible to reference a Model defined in another application?
body: <p>I have to port a relatively large application to Django. This application is composed by a number of components mostly unrelated to each other; but all relate to a common model (i.e. table) called <em>Location</em>.</p>
  
  <p>Since each component is itself composed by dozens of models, it seems wiser to encapsulate each of them in its own Django app. However, they all must reference the <em>Location</em> model somehow. I am contemplating a folder structure like:</p>
  
  <pre><code>/site
   /main
     models.py (contains Location class)
   /componentA
     models.py (references Location class with ForeignKey)
   /componentB
     models.py (references Location class with ForeignKey)
  </code></pre>
  
  <p>Is this possible? Would there be a better strategy to encapsulate these application components? Or must I define the whole schema in a single app with a single <code>models.py</code> file? </p>