Django 2.0, python 3.5, postgres
Я пытаюсь создать новое логическое поле для модели в django.Проблема в том, что когда я запускаю makemigrations, он выдает
psycopg2.ProgrammingError: column core_marca.eh_maiores_bancos does not exist
.
Но я пытаюсь создать столбец eh_maiores_bancos.Эта ошибка происходит, прежде чем я могу создать файлы миграции.У меня раньше была такая же проблема с другими моделями, и она была решена путем комментирования фрагмента кода, который вызывал исключение, но, поскольку это происходит, я ищу лучшее решение, чем просмотр журнала и ручное комментирование строк, которые вызываютошибка.
Примечание. Часть кода, вызывающая ошибку, находится в совершенно другом файле, файле views.py в моем модуле API, в котором у меня есть функция, которая возвращает список всех объектов этогомодель у меня есть.
Я пытался сбросить базу данных, воссоздать ее, удалить файлы миграции, а затем создать миграции и миграцию, но все равно не удается.Я также попытался изменить последовательность импорта кода, порядок установленных приложений, добавив if not 'makemigrations' in sys.argv:
, чтобы запретить выполнение кода при создании миграций, но это просто создает другую ошибку.
Я ничего не нашел в документации по django.На другой вопрос о стековом потоке, который я обнаружил с похожей проблемой ( Ошибка миграции Django: столбец не существует ), есть ответы, но все они просто говорят мне прокомментировать код, вызывающий проблему и производственные миграции.
Журнал при запуске makemigrations:
Traceback (most recent call last):
##Removed a few lines of traceback. just django core code
File "/home/esb/projects/ts2/esb-python/gerentesonhos/apps/API/base/urls.py", line 2, in <module>
from .views import *
File "/home/esb/projects/ts2/esb-python/gerentesonhos/apps/API/base/views.py", line 126, in <module>
class MarcaList(generics.ListCreateAPIView):
File "/home/esb/projects/ts2/esb-python/gerentesonhos/apps/API/base/views.py", line 175, in MarcaList
for m in marcas:
File "/home/esb/projects/ts2/esb-env/lib/python3.5/site-packages/django/db/models/query.py", line 272, in __iter__
self._fetch_all()
File "/home/esb/projects/ts2/esb-env/lib/python3.5/site-packages/django/db/models/query.py", line 1179, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/home/esb/projects/ts2/esb-env/lib/python3.5/site-packages/django/db/models/query.py", line 53, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "/home/esb/projects/ts2/esb-env/lib/python3.5/site-packages/django/db/models/sql/compiler.py", line 1067, in execute_sql
cursor.execute(sql, params)
File "/home/esb/projects/ts2/esb-env/lib/python3.5/site-packages/django/db/backends/utils.py", line 68, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/home/esb/projects/ts2/esb-env/lib/python3.5/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/home/esb/projects/ts2/esb-env/lib/python3.5/site-packages/django/db/backends/utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
File "/home/esb/projects/ts2/esb-env/lib/python3.5/site-packages/django/db/utils.py", line 89, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/home/esb/projects/ts2/esb-env/lib/python3.5/site-packages/django/db/backends/utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: column core_marca.eh_maiores_bancos does not exist
LINE 1: ..._emprestimo", "core_marca"."tipo_instituicao_id", "core_marc...