argparse.ArgumentError:参数--skip-checks:冲突的选项字符串:--skip-checks

问题描述

我正在使用django-tenant-schemas,当我尝试使用“ migrate_schemas”命令时,遇到错误。我在这里看到过类似的问题,但它们根本没有帮助。我已经在两个不同的应用程序上尝试过,但是结果是相同的。有人知道如何解决这个问题吗?

    Traceback (most recent call last):
  File "C:\DjangoNew\tenancy\manage.py",line 22,in <module>
    main()
  File "C:\DjangoNew\tenancy\manage.py",line 18,in main
    execute_from_command_line(sys.argv)
  File "C:\Users\asyey\AppData\Local\Programs\Python\python37\lib\site-packages\django\core\management\__init__.py",line 401,in execute_from_command_line
    utility.execute()
  File "C:\Users\asyey\AppData\Local\Programs\Python\python37\lib\site-packages\django\core\management\__init__.py",line 395,in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\asyey\AppData\Local\Programs\Python\python37\lib\site-packages\django\core\management\base.py",line 322,in run_from_argv
    parser = self.create_parser(argv[0],argv[1])
  File "C:\Users\asyey\AppData\Local\Programs\Python\python37\lib\site-packages\django\core\management\base.py",line 296,in create_parser
    self.add_arguments(parser)
  File "C:\Users\asyey\AppData\Local\Programs\Python\python37\lib\site-packages\tenant_schemas\management\commands\migrate_schemas.py",line 20,in add_arguments
    command.add_arguments(parser)
  File "C:\Users\asyey\AppData\Local\Programs\Python\python37\lib\site-packages\django\core\management\commands\migrate.py",line 28,in add_arguments
    help='Skip system checks.',File "C:\Users\asyey\AppData\Local\Programs\Python\python37\lib\argparse.py",line 1373,in add_argument
    return self._add_action(action)
  File "C:\Users\asyey\AppData\Local\Programs\Python\python37\lib\argparse.py",line 1736,in _add_action
    self._optionals._add_action(action)
  File "C:\Users\asyey\AppData\Local\Programs\Python\python37\lib\argparse.py",line 1577,in _add_action
    action = super(_ArgumentGroup,self)._add_action(action)
  File "C:\Users\asyey\AppData\Local\Programs\Python\python37\lib\argparse.py",line 1387,in _add_action
    self._check_conflict(action)
  File "C:\Users\asyey\AppData\Local\Programs\Python\python37\lib\argparse.py",line 1526,in _check_conflict
    conflict_handler(action,confl_optionals)
  File "C:\Users\asyey\AppData\Local\Programs\Python\python37\lib\argparse.py",line 1535,in _handle_conflict_error
    raise ArgumentError(action,message % conflict_string)
argparse.ArgumentError: argument --skip-checks: conflicting option string: --skip-checks

解决方法

这是django-tenant-schemas中的错误。 通过阅读Django文档,似乎他们忘记了将requires_system_checks设置为False

我相信这个pull request将解决此问题。

直到合并此修订,您可以通过将Django降级为版本2或将tenant-schemas列表中的INSTALLED_APPS移动到settings.py文件的底部来解决此问题。