首页 > 解决方案 > 使用 django 和 cassandra 进行迁移时出现类型错误

问题描述

当我执行时,python manage.py migrate我得到以下类型错误:

TypeError: Unknown option(s) for sync_cassandra command: app_label, fake, fake_initial, interactive, migration_name, run_syncdb. Valid options are: database, help, no_color, pythonpath, settings, skip_checks, stderr, stdout, traceback, verbosity, version.

我正在使用 Cassandra 3.11.2、Python 3.5.2 和 django 2.0.7。全部在 Ubuntu Server 16.04 中运行

编辑以添加 settings.py

https://pastebin.com/s4fQCNEk

我认为设置文件中的一切都很好......我试图重新安装 cassandra,cassandra_engine 并且不起作用。

谢谢!

标签: pythondjangocassandra

解决方案


这似乎与此处发布的问题相似:Django 迁移引发 TypeError: Unknown option(s) for sync_cassandra command

我相信这是Django 从 2.0 版开始更改的结果,其中call_command()更新了函数以验证传递给它的选项。如果无法验证该选项(即,没有出现在您正在绘制的任何模块的代码中),那么您会得到这个 TypeError。

在您的代码库中搜索call_command()使用您收到的 TypeError 消息中列出的任何未知选项的实例。根据他们的目的,您可以考虑两种选择:

  1. call_command()
  2. 在包含未知选项parser.add_argument()的文件中添加适当的函数。此处call_command()显示的 Django 文档中的示例。

推荐阅读