在我的项目中,我有两个自定义对象,分别在本地fields.py文件和blocks.py文件中定义。我将它们导入到我的models.py中,如下所示:
from . import fields as blockfields
from . import blocks
,并且在运行迁移时,自动生成的迁移如下所示:
import PROJECTNAME.fields
import blocks
,由于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通用模型.Field的扩展名,而块是从头开始的自定义类型。