Django не может импортировать локальный модуль во время миграции - PullRequest
1 голос
/ 16 апреля 2019

В моем проекте у меня есть два пользовательских объекта, определенных в локальном файле 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

Я по-разному пытался иметь блокиФайл .py, который просто указывает на папку, но не меняет область импорта для автоперемещения.

В моих блок-полях я также ссылаюсь на блоки, то есть ссылки запекаются в миграциях.Файл fields.py имеет расширение общих моделей django.Field, в то время как блоки являются пользовательскими типами с нуля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...