Earlier quoted context omitted.
Strong opinion: DO NOT break up your project into apps. Make 1 app called core or common of whatever and replace models.py with models/ .py and import those into models/__init__.py Everyone jumps into apps with foreign keys across app boundaries and it makes a mess of things from the start that doesnt buy you anything. 1 app. 1 set of migrations. Turn models, views, etc into a package instead of the single file modul…
Do you have a tutorial for more detailed example of what you wrote?
There's also a long, uh, spirited discussion about it here with some decent arguments going both directions: https://forum.djangoproject.com/t/why-do-we-need-apps/827/19