Возникла следующая проблема, и я не знаю, как ее решить:

При попытке python manage.py makemigrations на Django 2.2.10 даже без чего-либо нового я получаю следующую ошибку:

Traceback (most recent call last):
  File "manage.py", line 16, in <module>
    execute_from_command_line(sys.argv)
  File "/path/to/virtualenv/lib/python3.7/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/path/to/virtualenv/lib/python3.7/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/path/to/virtualenv/lib/python3.7/site-packages/django/core/management/base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/path/to/virtualenv/lib/python3.7/site-packages/django/core/management/base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "/path/to/virtualenv/lib/python3.7/site-packages/migrate_sql/management/commands/makemigrations.py", line 119, in handle
    migration_name=self.migration_name,
  File "/path/to/virtualenv/lib/python3.7/site-packages/django/db/migrations/autodetector.py", line 43, in changes
    changes = self._detect_changes(convert_apps, graph)
  File "/path/to/virtualenv/lib/python3.7/site-packages/django/db/migrations/autodetector.py", line 186, in _detect_changes
    self.generate_altered_fields()
  File "/path/to/virtualenv/lib/python3.7/site-packages/migrate_sql/autodetector.py", line 255, in generate_altered_fields
    self.generate_sql_changes()
  File "/path/to/virtualenv/lib/python3.7/site-packages/migrate_sql/autodetector.py", line 229, in generate_sql_changes
    keys = self.assemble_changes(new_keys, changed_keys, self.to_sql_graph)
  File "/path/to/virtualenv/lib/python3.7/site-packages/migrate_sql/autodetector.py", line 95, in assemble_changes
    ancs = node.ancestors()[:-1]
AttributeError: 'Node' object has no attribute 'ancestors'

Единственный способ исправить это - вернуться к Django 2.1.10, затем создать необходимые модели и установить заново. Затем python manage.py migrate запускается - на Django 2.2.10 без проблем.

Из-за сообщения у меня нет никаких указаний на то, что пошло не так или почему. Может ли это быть одно из установленных приложений, связанных с моделью? Есть идеи, как мне это сделать?

0
Dimitrios Mistriotis 20 Дек 2019 в 19:03

1 ответ

Проблема с https://github.com/klichukb/django-migrate-sql которая была одной зависимостью. Удаление это сделало все в порядке.

0
Dimitrios Mistriotis 20 Дек 2019 в 16:30