Define a Django model that is shared among many apps
<p>How to define a generic Django model (that would perfectly fit in utility/common module), that is going to be used by many apps? I would prefer to define it outside an app, because semantically it does not belong to any of them.
Is it possible? How to deal with the migration of it outside the app?</p>

<p>More specifically, a Model for assigning the country of the user or organization:</p>

<pre><code>class Country(models.Model):
    name = models.CharField(max_lenght=200)
</code></pre>

<p>If the models don't belong to any app, they can certainly be declared in a separate app. I would create a 'global' app with models and views that you might use from other apps. Migrations would function as usual as long as you declare the new app with 'startapp newapp' etc.</p>

python django model-view-controller model