【问题标题】:Django Tenant Schemas "argparse.ArgumentError: argument --skip-checks: conflicting option string: --skip-checks"Django租户模式“argparse.ArgumentError:参数--skip-checks:冲突的选项字符串:--skip-checks”
【发布时间】:2021-04-08 20:57:30
【问题描述】:

我遇到了与here 相同的问题,但无法从问题提供的答案中解决。我尝试像这样将tenant_schemas 添加到INSTALLED_APPS 的末尾

INSTALLED_APPS = SHARED_APPS + TENANT_APPS + INSTALLED_APPS + ['tenant_schemas']

但这没有用。我将INSTALLED_APPS 移动到设置文件的底部,这也不起作用。

留给我的唯一选择是复制整个 tenant_schemas 库,使用答案中拉取请求中提供的更改对其进行修复,并将其作为应用程序与项目连接,这是一种糟糕的继续方式.

如果上述答案中提供的解决方案有示例,或者本身有更好的解决方案,请告诉我。

追溯 -

Traceback (most recent call last):
  File "E:\PycharmProjects\uniuno\uniuno\manage.py", line 22, in <module>
    main()
  File "E:\PycharmProjects\uniuno\uniuno\manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "C:\Users\Ishu\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "C:\Users\Ishu\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\management\__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\Ishu\AppData\Local\Programs\Python\Python39\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\Ishu\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\management\base.py", line 296, in create_parser
    self.add_arguments(parser)
  File "C:\Users\Ishu\AppData\Local\Programs\Python\Python39\lib\site-packages\tenant_schemas\management\commands\migrate_schemas.py", line 20, in add_arguments
    command.add_arguments(parser)
  File "C:\Users\Ishu\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\management\commands\migrate.py", line 26, in add_arguments
    parser.add_argument(
  File "C:\Users\Ishu\AppData\Local\Programs\Python\Python39\lib\argparse.py", line 1434, in add_argument
    return self._add_action(action)
  File "C:\Users\Ishu\AppData\Local\Programs\Python\Python39\lib\argparse.py", line 1799, in _add_action
    self._optionals._add_action(action)
  File "C:\Users\Ishu\AppData\Local\Programs\Python\Python39\lib\argparse.py", line 1636, in _add_action
    action = super(_ArgumentGroup, self)._add_action(action)
  File "C:\Users\Ishu\AppData\Local\Programs\Python\Python39\lib\argparse.py", line 1448, in _add_action
    self._check_conflict(action)
  File "C:\Users\Ishu\AppData\Local\Programs\Python\Python39\lib\argparse.py", line 1585, in _check_conflict
    conflict_handler(action, confl_optionals)
  File "C:\Users\Ishu\AppData\Local\Programs\Python\Python39\lib\argparse.py", line 1594, in _handle_conflict_error
    raise ArgumentError(action, message % conflict_string)
argparse.ArgumentError: argument --skip-checks: conflicting option string: --skip-checks

【问题讨论】:

标签: python python-3.x django multi-tenant


【解决方案1】:

这个错误有一个简单的修复。该解决方案已被提出,但该软件包自 2 年以来没有得到维护,他们不会合并拉取请求。因此,如果您坚持使用此软件包,您将不得不分叉并进行所需的更改/修复。

我建议从django-tenant-schemas 切换到django-tenantsdjango-tenant 是从 django-tenant-schemas 派生出来的,正在积极维护中。

【讨论】:

    猜你喜欢
    • 2021-01-21
    • 2021-01-18
    • 2017-08-10
    • 1970-01-01
    • 2013-09-21
    • 1970-01-01
    • 2021-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多