При попытке разобрать файл 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 работает нормально, все миграции могут быть применены правильно. Проблема исключительно в коде команды управления. Есть какие-нибудь подсказки?

Вернуться на верх