Django.apps公司apps.get_模型(应用程序_名称。型号\u名称')找不到模型

2024-06-02 07:48:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Django新手,使用Django 2.1.7。在

到今天为止,我有一个(简单的)工作系统。然后我需要在我的两个模型类之间引入一个循环依赖,这会创建循环导入并导致问题等。。。在

我读过,自从Django 1.7以来,导入模型之间循环依赖的正确方法是:

from django.apps import apps
from django.db import models

Model2 = apps.get_model('my_app.Model2')

class Model1(models.Model):
    # use Model2 where needed

但是,我总是看到错误:

LookupError: App 'my_app' doesn't have a 'Model2' model.

请注意,Model1和{}都在同一个应用程序中,因此我尝试使用和不使用app前缀调用{}。在

如果我只删除循环依赖项(即:Model1不再引用Model2),那么这两个模型都可以在系统中独立地正常工作。数据库查询工作,makemigrations工作,migrate工作,等等。。。在

当然,在我的settings.py文件中:我在INSTALLED_APPS数组的顶部声明了“my_-app”。我还试着把它移到底部。在

什么给予?看起来很简单,我不知道我会错过什么。在

我需要在其他地方显式地注册我的模型吗?在


Tags: appsdjango方法from模型importappmodel