title: Move Django model from one app to another
body: <p>I made the stupid mistake of creating too many models in the same Django app, now I want to split it into 3 distinct ones. Problem is: there's already data in production in two customers' sites, so I need to carefully plan any schema/data migration to be done (I'm using django-south). I'm unsure on how to proceed, any advice would be greatly appreciated.</p>
  
  <p>(I'm using PostgreSQL on a Ubuntu server 12.4 LTS, if that's of any relevance)</p>
  
  <p>I thought about using <a href="http://south.aeracode.org/wiki/db.rename_table" rel="nofollow noreferrer"><code>db.rename_table</code></a>, but can't figure out how to correctly update the foreign keys to those models (old to new) - irrelevant at the database level (since the table renaming already got that covered), but not so at the ORM level.</p>
  
  <p><strong>Update</strong>: after thinking about it, and after asking <a href="https://softwareengineering.stackexchange.com/q/157039/44542">this question</a> on programmmers.SE, I decided to keep things simple and don't worry about migrations between major versions of the product. Short term, I'll just use <code>db.rename_table</code> to match the new name, while also using <code>db_table</code> as Daniel Roseman suggested, all the while keeping the models in the old app. When upgrading to a major version, I swith to the new app and ditch all migrations altogether (so fresh installs of the new version will create the database "as-is" instead of going through all historical migrations).</p>