Вы боретесь против фреймворка здесь, и вам будет лучше, если вы переосмыслите свою архитектуру. Django построен на предположении, что проект = данный набор INSTALLED_APPS, а настройки проекта называют базу данных, с которой синхронизируются эти приложения. Здесь не ясно, какая у вас проблема с этим, но чего бы вы ни пытались достичь, этого можно достичь, не пытаясь импортировать модели из приложения, которого нет в INSTALLED_APPS вашего текущего проекта. Это никогда не сработает надежно.
Если есть приложение, которое вы хотите в обоих проектах, вы должны поместить его в свой PYTHONPATH (или в virtualenvs), чтобы оба проекта могли получить к нему доступ, и поместить его в INSTALLED_APPS обоих проектов. Если вам также нужно, чтобы их данные распределялись между проектами, вы могли бы указать оба проекта на одну и ту же базу данных (хотя вам следует быть осторожным с другими конфликтующими именами приложений, которые могут не требовать совместного использования данных). Или вы можете использовать поддержку нескольких баз данных, которая сейчас находится в стволе Django, чтобы один проект использовал базу данных другого проекта только для этого одного приложения.
Полагаю, если вы сделаете шаг назад и объясните, что вы пытаетесь сделать, есть даже лучшие решения, чем те.