gpt4 book ai didi

python - 在 Django 中从 View 导入模型

转载 作者:行者123 更新时间:2023-11-28 17:17:54 25 4
gpt4 key购买 nike

我的一个应用程序的 models.py 中有这样的东西:

class Account(AbstractBaseUser):
email = models.EmailField(unique=True)

我想从另一个应用程序的 views.py 中导入一个类,如下所示:

from anotherapp.views import MyClass

问题出在anotherapp.views 文件的第一行,我导入了Account 类。因此,当我想将 MyClass 导入我的 models.py 文件时,会出现此错误:

ImportError: cannot import name Account

最佳答案

那是您遇到的循环导入错误。虽然它是 bad practice在 Django 中从 View 导入模型,如果您仍然想要,可以按照此 question 中的方法进行操作解决它。

以下是一些可以被视为良好做法的替代方法:

  • 您可以考虑导入存在于 anotherapp 中的其他低级模块而不是 MyClass(不依赖于 views.py)
  • 您可以使用 Django 的 signals在整个项目范围内捕获另一个应用程序的事件并据此采取行动。
  • 您可以创建第三个文件,比如 anotherapp 中的 utils.py,将 MyClass 移到那里并让 anotherapp/views. py 和您应用的 models.pyanotherapp.utils
  • 导入

关于python - 在 Django 中从 View 导入模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43195361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com