Python django迁移-从磁盘上的位置获取迁移

Python django迁移-从磁盘上的位置获取迁移,python,django,python-2.7,django-migrations,Python,Django,Python 2.7,Django Migrations,我有一个django项目,但我想从不同的位置(而不是项目本身)获得迁移。我试图在设置页面中使用迁移\u模块,但我只能使其与不同的项目内模块一起工作。我希望能够这样做,但每个应用程序的迁移文件路径。 我深入研究了django中的迁移机制,发现加载迁移的代码如下: # part of loader.py from django.db.migrations @classmethod def migrations_module(cls, app_label): if app_label in s

我有一个django项目,但我想从不同的位置(而不是项目本身)获得迁移。我试图在设置页面中使用
迁移\u模块
,但我只能使其与不同的项目内模块一起工作。我希望能够这样做,但每个应用程序的迁移文件路径。 我深入研究了django中的迁移机制,发现加载迁移的代码如下:

# part of loader.py from django.db.migrations
@classmethod
def migrations_module(cls, app_label):
    if app_label in settings.MIGRATION_MODULES:
        return settings.MIGRATION_MODULES[app_label]
    else:
        app_package_name = apps.get_app_config(app_label).name
        return '%s.%s' % (app_package_name, MIGRATIONS_MODULE_NAME)

def load_disk(self):
    """
    Loads the migrations from all INSTALLED_APPS from disk.
    """
    self.disk_migrations = {}
    self.unmigrated_apps = set()
    self.migrated_apps = set()
    for app_config in apps.get_app_configs():
        # Get the migrations module directory
        module_name = self.migrations_module(app_config.label)
        was_loaded = module_name in sys.modules
        try:
            module = import_module(module_name)
        except ImportError as e:
当我到达我的模块时,它在导入模块行失败。
有没有办法告诉django迁移模块在磁盘上的位置而不是模块名称?

没有,没有办法只给django一个迁移模块的路径。迁移是实际的Python模块,因此它们必须可以从
PYTHONPATH
中的某个位置导入

当然,您可以更改
PYTHONPATH
,以便在Python中可以导入磁盘上的位置