使用django和cassandra进行迁移时的TypeError

问题描述 投票:0回答:2

当我执行python manage.py migrate时,我得到以下TypeError:

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引擎并不起作用。

谢谢!

python django cassandra
2个回答
0
投票

你需要发布你的python代码,否则很难说肯定。

可能是你错过了相关模块importhttps://www.pydoc.io/pypi/django-cassandra-engine-1.1.0/autoapi/management/commands/sync_cassandra/index.html

你可以看看这里,我想你会发现这很有用:https://github.com/r4fek/django-cassandra-engine/blob/master/django_cassandra_engine/management/commands/sync_cassandra.py


0
投票

这看起来类似于这里发布的问题:Django migration raised TypeError: Unknown option(s) for sync_cassandra command

我相信这是a change in Django as of version 2.0的结果,其中更新了call_command()函数以验证传递给它的选项。如果无法验证该选项(即,没有出现在您正在绘制的任何模块的代码中),那么您将获得此TypeError。

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

  1. call_command()中删除未知选项
  2. 在包含未知选项的parser.add_argument()的文件中添加适当的call_command()函数。显示here的Django文档示例。
© www.soinside.com 2019 - 2024. All rights reserved.