Обновление Django с 3.2 LTS до Django 5.04 приводит к typeerror: requires_system_checks must be a list or tuple

Я только что обновил Django с 3.2 LTS до последней версии Django 5.0.4 и обновил все пакеты по мере необходимости, и после попытки запустить docker-compose для запуска моего api веб-сервера я получаю следующий след :

my-api            |   File "/opt/my-api-core/manage.py", line 22, in <module>
my-api            |     execute_from_command_line(sys.argv)
my-api            |   File "/usr/local/lib/python3.10/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
my-api            |     utility.execute()
my-api            |   File "/usr/local/lib/python3.10/site-packages/django/core/management/__init__.py", line 436, in execute
my-api            |     self.fetch_command(subcommand).run_from_argv(self.argv)
my-api            |   File "/usr/local/lib/python3.10/site-packages/django/core/management/__init__.py", line 275, in fetch_command
my-api            |     klass = load_command_class(app_name, subcommand)
my-api            |   File "/usr/local/lib/python3.10/site-packages/django/core/management/__init__.py", line 49, in load_command_class
my-api            |     return module.Command()
my-api            |   File "/usr/local/lib/python3.10/site-packages/django_media_fixtures/management/commands/collectmedia.py", line 35, in __init__
my-api            |     super(Command, self).__init__(*args, **kwargs)
my-api            |   File "/usr/local/lib/python3.10/site-packages/django/core/management/base.py", line 285, in __init__
my-api            |     raise TypeError("requires_system_checks must be a list or tuple.")
my-api            | TypeError: requires_system_checks must be a list or tuple.

Ниже приведены мои попытки:

  1. django-media-fixtures - это то, что видно в трассировке, поэтому я использовал https://pypi.org/project/django-media-fixtures-next/ после изменения его с https://pypi.org/project/django-media-fixtures/
  2. .
  3. Понижение версии Django до 4.2.11 и вплоть до 4.1 с нынешней 5.0.4
  4. .

Однако ошибка сохраняется. Я не вижу необходимости изменять сам site-packages, так как это не кажется правильным способом. Ищу решение, как обойти эту проблему. Я видел другие сообщения о стеках, но не смог решить проблему в моем случае.

Вот некоторые :

Django 4.1.9 requires_system_checks issue with manage.py - это ошибка или нет

как исправить "TypeError: requires_system_checks must be a list or tuple.", вызванное командой "py manage.py grpcrunserver"?

Да, проблема в django-media-fixturesdjango-media-fixtures-next), которые больше не поддерживаются. Вы можете форк проекта на Github и использовать свой форк в качестве зависимости. Вам придется изменить эту строку:

    requires_system_checks = False

до

    requires_system_checks = []

в вашей вилке.

Затем вы можете изменить соответствующую строку в вашем requirements.txt на:

django-media-fixtures @ git+https://github.com/<your username>/django-media-fixtures
Вернуться на верх