Django:如何将其他App的模型导入至另一App的views.py中
Django跨应用模型导入步骤
前提:确保market应用已注册
首先检查项目根目录下的settings.py,确认market已添加到INSTALLED_APPS列表中,否则Django无法识别该应用的模型:
INSTALLED_APPS = [ # 其他已注册应用 'market', 'lineup', ]
方法一:直接导入(无循环依赖时首选)
在lineup/views.py文件顶部添加导入语句即可:
from market.models import Inventory
之后就能在views里直接使用Inventory模型进行查询、创建等操作。
方法二:解决循环导入问题的动态导入
如果lineup和market应用存在互相导入模型的循环依赖问题,可使用Django的apps.get_model()方法动态导入,推荐在函数内部或需要使用的位置导入:
from django.apps import apps def some_view(request): Inventory = apps.get_model('market', 'Inventory') # 后续使用Inventory模型的逻辑 items = Inventory.objects.all() # ...
内容的提问来源于stack exchange,提问作者Mazen Mamdouh
相关产品推荐
相关产品推荐

