При попытке разобрать файл Django возникает исключение
Моя цель - разобрать файл Django внутри my_app
приложения проекта, используя importlib
пакет. Для этого у меня есть следующий код:
import ntpath
class Foo:
def _get_module_name(self, path, remove_extension=True):
head, tail = ntpath.split(path)
if remove_extension:
tail = tail.split('.')[0]
return tail
def my_method(self, path):
module_name = self._get_module_name(path)
module = importlib.machinery.SourceFileLoader(
module_name, path).load_module() # Error arises
Затем, у меня есть команда управления, которая вызывает my_method
from django.core.management import BaseCommand
class Command(BaseCommand):
help = 'Generates string for models creation'
def handle(self, *args, **kwargs):
foo = Foo()
foo.my_method('/my_app_full_path/models.py')
В закомментированной строке кода я сталкиваюсь с ошибкой, говорящей, что:
RuntimeError: Model class models.MyModel doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
Я точно включил my_app в INSTALLED_APPS, и в нем есть файл init.py. Сам проект Django работает нормально, все миграции могут быть применены правильно. Проблема исключительно в коде команды управления. Есть какие-нибудь подсказки?