Джанго проваливается.Ошибка программирования: столбец xxxxx не существует - PullRequest
0 голосов
/ 30 января 2019

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...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...