python - 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
.
我相信这个拉取请求会解决这个问题。
在合并此修复程序之前,您可以Django
通过运行类似的东西降级到版本 2 来解决此问题
pip install "Django~=2.2"
或将tenant-schemas
列表INSTALLED_APPS
移至文件底部settings.py
。
推荐阅读
- css - CSS 粘性分组表头
- python - 为什么这个 else 语句不返回 False?
- google-cloud-platform - 有没有办法在向其发送流量之前测试完全托管的 Cloud Run 修订版?
- bash - 无法弄清楚如何实现这个bash参数
- vue.js - vuetify 数据表不显示数据
- reactjs - 反应:res.json() 数据未定义
- python - 抓取中途停止爬行
- android - 如何在 Android 登录中获取 Firebase 身份验证令牌
- sql - 在 Go 中推广 *sql.Rows 扫描
- flutter - 未处理的异常:MissingPluginException(在通道 com.tekartik.sqflite 上找不到方法 getDatabasesPath 的实现)