我认为您正在寻找这个:
from django.db.models.loading import get_modelmodel = get_model('app_name', 'model_name')当然,还有其他方法,但是如果您不知道需要将哪些模型文件导入名称空间,这就是我要处理的方法。(请注意,在没有先知道它属于哪个应用程序的情况下,实际上没有办法安全地获取模型。如果要在遍历所有应用程序的模型时进行测试,请查看load.py的源代码。)
Django 1.7+的更新:
根据Django的弃用时间轴,
django.db.models.loading在Django 1.7中已弃用,并将在Django
1.9中删除。正如Alasdair的回答所指出的那样,在Django
1.7+中,有一个应用程序注册表。您可以使用该
apps.get_model方法动态获取模型:
from django.apps import appsMyModel = apps.get_model('app_label', 'MyModel')


