如何在管理器中延迟加载模型以停止循环导入?

2023-12-29

在 Django 中,您可以为模型创建管理器。我通过添加一个名为的新文件来做到这一点managers.py在我的模型中objects = MyManager().

为了停止循环进口,我这样做self.model。但是,如果我需要在我的经理中引用不同的模型,即

from models import SecondModel
second= SecondModel(name=test).save()
self.model(second=second)

我收到以下错误:ImportError: cannot import name SecondModel

那么Django中有没有办法延迟加载模型呢?


从 Django 1.7 开始,当前接受的答案已被弃用;从这个答案 https://stackoverflow.com/questions/4881607/django-get-model-from-string/26126935#26126935,您可以像这样调整您的代码。

from django.apps import apps

class SomeModelManager(...):
    ...

    def some_function(self):
        model = apps.get_model(app_label='your_app', model_name='YourModel')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在管理器中延迟加载模型以停止循环导入? 的相关文章

随机推荐

  • 如何在 PHP 中使用 call_user_func_array 调用构造函数

    如何使用 call user func array 调用类的构造函数 这是不可能的 obj new class call user func array array obj construct args 因为如果构造函数有参数 new将失败
  • 检测声音在THREE.PositionalAudio 中结束?

    我想检测声音何时结束 但我发现所有示例都不起作用 Create sound var sound1 new THREE PositionalAudio listener sound1 load sounds Example ogg sound
  • 如何在 OpenLDAP 2.4 中使用 olcAccess 向用户添加权限

    我的公司运行着一台 OpenLdap Server 2 4 我需要允许人们在我们的 Web 应用程序之一中更改他们的图片 该功能已经存在 LDAP 中的人们没有任何权利编写自己的属性 特别是这里 jpeg照片 需要属性 我在文档中找到了这个
  • python multiprocessing:AttributeError:无法腌制本地对象

    我在类中有一个方法来返回参数可能会更改的函数 Interface函数接受两个参数 f及其args 我想使用mp pool来加速它 但是 它返回一个错误 from multiprocessing import Pool from multip
  • 在 Bootstrap 中对表行进行排序 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有人可以向我展示一个我必须用来对 Bootstrap 中表的列进行排序的代码示例吗 例如 如果我想按价格或名称排序 这些例子是mini
  • 电话号码的最佳正则表达式是什么? [复制]

    这个问题在这里已经有答案了 可能的重复 用于电话号码验证的综合正则表达式 https stackoverflow com questions 123559 a comprehensive regex for phone number val
  • 仅在单击弹出模式按钮 ok jquery js 后打开新选项卡

    我有密码和用户名的形式 我希望当我单击 登录 按钮 使用正确的凭据 时 它会显示一个弹出窗口 其中包含单击时的按钮 将我带到网站的主页 您可以在这里找到代码https jsfiddle net hcu0r6dj 1 https jsfidd
  • 如何在Python SQL查询中使用变量?

    我正在使用一些复制粘贴的代码通过 Python Flask 在 MySQL DB 上执行 SQL 查询 我不熟悉它 它告诉我尝试输入变量的方式不是正确的语法 我的代码运行一个查询来查看电子邮件是否已存在 问题代码 def check if
  • 消除 tbody 标签之间的间隙

    有没有办法消除slight两者之间的差距tbody标签当它们都像这样内联显示时 http jsfiddle net kttss http jsfiddle net kttss 正如您在小提琴中看到的那样 两个桌子之间有一个微小的间隙 我知道
  • 确定 NSFetchedResultsController 是否为空

    确定 NSFetchedResultsController 是否为空 不包含任何条目 的好方法是什么 我意识到人们可以使用fetchedObjects这会将所有结果加载到内存中吗 fetchedObjects 是一个数组 是检查 0 条记录
  • android中org.json.JSONObject无法转换为JSONArray

    当我在本地主机中尝试时 它可以找到 这是我的本地主机提供的 JSON 是的 这个网址有错误http api androidhive info contacts http api androidhive info contacts id 1
  • 使用已知的用户 ID、相册 ID 和相册名称在 Facebook 应用 Android 中打开 Facebook 相册

    我努力了 Facebook 专辑 fb album s owner s 这些都不起作用 我只想打开 Facebook 应用程序并打开相册 None
  • 如何在 macOS 上的 Xcode 动态库中解开从 C++ 导出的符号

    我一直在尝试用 C 开发一个可以在应用程序中运行时加载的动态库 我终于成功了 但它有点难看 我有一个函数 它将指向 C 类的指针作为参数 如下所示 bool registerGrindPlugin Grind PluginManager m
  • 右连接等于左连接吗? [复制]

    这个问题在这里已经有答案了 一段时间以来 我只知道如何使用 INNER JOIN 完全不知道 LEFT RIGHT OUTER JOIN 的作用 虽然 正如我刚刚读到的那样 我看不出右派的目的是什么 在我看来 它与反向 LEFT JOIN
  • 创建与部分用户代理匹配的 WURFL 补丁

    我正在使用 WURFL 来识别用户是否使用移动设备 某些用户代理字符串被错误地识别为移动设备 从而导致内容类型设置不正确 这是一个现实生活中的用户代理的示例 其行为如下 Mozilla 5 0 GTmetrix http gtmetrix
  • 使用openpyxl无法读取excel文件

    我有一个 Excel 文件列表 最后一行类似 它包含有关客户的私人信息 他的名字 姓氏 电话 每个excel文件对应一个客户 我需要制作一个 Excel 文件 其中包含每个客户的所有数据 我决定自动执行此操作 所以查看了openpyxl图书
  • 程序和调试器在没有出现问题的情况下退出

    我正在开发一个 WPF 应用程序 调试时 逻辑达到某个点 然后应用程序无故退出 VS 调试器没有捕获任何内容 唯一的问题指示是输出窗口中的以下内容 程序 6228 SomeApp vshost exe 托管 v4 0 30319 已退出 代
  • 如何从扩展名为 .pyw 的 Python 脚本打印到标准输出?

    我有一个带有 wxpython GUI 和一些命令行参数的 python 程序 我使用 py2exe 生成一个 Windows 可执行文件 我不想在后台有一个命令行窗口 因此 py2exe 使其成为一个没有此窗口的 pythonw 可执行文
  • javascript中如何检查字符串是否以数字开头

    我试图确定用户是否输入了电子邮件 ID 或电话号码 因此我想检查字符串是否以 1或数字开头 以确定它是否是电话号码 如果不是 我得出的结论是这是一封电子邮件 或者我可以检查它是否以字母开头以确定 我该如何检查这个 如果这就是解决方案 我对正
  • 如何在管理器中延迟加载模型以停止循环导入?

    在 Django 中 您可以为模型创建管理器 我通过添加一个名为的新文件来做到这一点managers py在我的模型中objects MyManager 为了停止循环进口 我这样做self model 但是 如果我需要在我的经理中引用不同的