python - Django 在迁移期间无法导入本地模块
问题描述
在我的项目中,我有两个自定义对象,在本地 fields.py 文件和 blocks.py 文件中定义。我将它们导入到我的 models.py 中,如下所示:
from . import fields as blockfields
from . import blocks
运行迁移时,自动生成的迁移如下所示:
import PROJECTNAME.fields
import blocks
并且由于块不在迁移文件夹的本地范围内,因此会引发错误。如果我手动将其更改为“将 PROJECTNAME.blocks 作为块导入”,那么它运行良好,但每次都必须这样做是很愚蠢的。有什么想法吗?
更新:使用 Django 2.1.4、Python 3.6.7
因此文件夹结构为:
PROJECTNAME
-fields.py
-models.py
-blocks/
--__init__.py
--*.py
-migrations/
--*.py
我已经尝试过创建一个 blocks.py 文件,它只指向该文件夹,但它不会更改自动迁移的导入范围。
在我的块域中,我也引用块,这就是引用如何融入迁移的方式。fields.py 文件具有 django 的通用 models.Field 的扩展,而这些块是从头开始的自定义类型。
解决方案
推荐阅读
- python - 如何使用 Tesseract 获取图像的文本
- python - 字符串到字节 Python
- flutter - Flutter - 在应用程序内打开特定应用程序的商店/市场屏幕
- php - 如何使用此代码的替代方法?我试图从我的数据库中为访问我的页面的每个用户提供不同的数字
- kerberos - 阿帕奇长凳。带有 Kerberos 身份验证的 API
- flutter - 在颤动中减小图像大小
- javascript - JS addEventListener 并非所有事件都被捕获
- blazor - Blazor 命名范围依赖注入
- c++ - 从基类指针克隆派生类
- php - 致命错误:未捕获异常:FPDF 错误:一些数据已经输出,无法发送 PDF 文件(输出开始于