Команда Django remove_stale_contenttypes завершается с ошибкой DoesNotExist

Недавно я попытался запустить remove_stale_contenttypes в приложении Django 3.1, после удаления некоторых пользовательских разрешений. При первом запуске команда предупредила меня, что некоторые записи будут удалены, и я ввел 'yes'. Команда завершилась с ошибкой DoesNotExist для одной из моделей, и после этого я даже не вижу предупреждения, она сразу же завершается со следующим выводом:

Traceback (most recent call last):
  File "C:\Users\Yamil\Google Drive\Proyectos\monely\manage.py", line 22, in <module>
    main()
  File "C:\Users\Yamil\Google Drive\Proyectos\monely\manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "C:\Users\Yamil\anaconda3\envs\monely\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "C:\Users\Yamil\anaconda3\envs\monely\lib\site-packages\django\core\management\__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\Yamil\anaconda3\envs\monely\lib\site-packages\django\core\management\base.py", line 330, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\Yamil\anaconda3\envs\monely\lib\site-packages\django\core\management\base.py", line 371, in execute
    output = self.handle(*args, **options)
  File "C:\Users\Yamil\anaconda3\envs\monely\lib\site-packages\django\contrib\contenttypes\management\commands\remove_stale_contenttypes.py", line 55, in handle
    collector.collect([ct])
  File "C:\Users\Yamil\anaconda3\envs\monely\lib\site-packages\django\db\models\deletion.py", line 295, in collect
    if sub_objs:
  File "C:\Users\Yamil\anaconda3\envs\monely\lib\site-packages\django\db\models\query.py", line 291, in __bool__
    self._fetch_all()
  File "C:\Users\Yamil\anaconda3\envs\monely\lib\site-packages\django\db\models\query.py", line 1303, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "C:\Users\Yamil\anaconda3\envs\monely\lib\site-packages\polymorphic\query.py", line 64, in _polymorphic_iterator
    real_results = self.queryset._get_real_instances(base_result_objects)
  File "C:\Users\Yamil\anaconda3\envs\monely\lib\site-packages\polymorphic\query.py", line 387, in _get_real_instances
    if base_object.polymorphic_ctype_id == self_model_class_id:
  File "C:\Users\Yamil\anaconda3\envs\monely\lib\site-packages\django\db\models\query_utils.py", line 149, in __get__
    instance.refresh_from_db(fields=[field_name])
  File "C:\Users\Yamil\anaconda3\envs\monely\lib\site-packages\django\db\models\base.py", line 635, in refresh_from_db
    db_instance = db_instance_qs.get()
  File "C:\Users\Yamil\anaconda3\envs\monely\lib\site-packages\django\db\models\query.py", line 429, in get
    raise self.model.DoesNotExist(
productos.models.DoesNotExist: Producto matching query does not exist.

Теперь я заметил, что модель, с которой произошел сбой, является PolymorphicModel (django-polymorphic), но я понятия не имею, что может происходить. Приложение, кажется, работает нормально, оно проходит тесты. Я также кратко проверил базу данных и действительно не смог найти никаких неиспользуемых типов содержимого, но команда продолжает терпеть неудачу. Как я могу найти корень этой проблемы?

Вернуться на верх