这可能是由于 问题。为了避免这种情况,您应该 :
对于 使用应用程序注册表:
from django.apps import apps
MyModel1 = apps.get_model('app1', 'MyModel1')
对于 :
from django.db.models.loading import get_model
MyModel1 = get_model('app1', 'MyModel1')
如果要定义 ,则 。Django涵盖了以下方面:
如果app1
是已安装的应用程序,则应按以下方式定义ForeignKey关系:
# in app2.py
class MyModel2(models.Model):
mymodel1 = models.ForeignKey('app1.MyModel1')
:get_model
仅当app1
已安装的应用程序和MyModel1
要从中导入的模型时,该方法才有效app1
。
请尽量避免使用通配符import(from ... import *
)