如何解决从 cassandra db 表到要在基于 Django 的应用程序中使用的 python 模型
我正在使用 Django 和 Cassandra db 开发 Web 应用程序。 我必须使用外部 Cassandra 数据库并将这个遗留数据库集成到我的应用程序中。我的想法是对给定一些 python 模型给出相应的 Cassandra 表的操作进行逆操作。我想反转的操作可以通过以下几种方式进行:
- 在 Django 中,在 models.py 模块中定义模型后,运行
python manage.py sync_cassandra
将从模型中创建相应的表;从而使用 ci sondjango_cassandra_engine 提供的 API; - 在 Django 的外部,我可以使用 cqlengine 及其命令
sync_table(table_name)
将定义我的模型的 Python 类转换为 Cassandra 表。
我想要的是逆操作,我既不能在 Django 中使用 django_cassandra_engine 也不能从 Django 外部执行 cqlengine。
在模块 setting.py 中按照指定的 here 为 Cassandra 数据库提供连接参数设置后,我尝试使用 python manage.py inspectdb --database=cassandra
。虽然在我的例子中这个命令的输出是:
# This is an auto-generated Django model module.
# You'll have to do the following manually to clean this up:
# * Rearrange models' order
# * Make sure each model has one field with primary_key=True
# * Make sure each ForeignKey and OnetoOneField has `on_delete` set to the desired behavior
# * Remove `managed = False` lines if you wish to allow Django to create,modify,and delete the table
# Feel free to rename the models,but don't rename db_table values or field names.
from django.db import models
即使 Cassandra 数据库中有我可以使用 cqlsh>DESCRIBE keyspace_name
可视化的表,所以我假设 django_cassandra_engine 无法正确“看到”我的旧 Cassandra 数据库。
所以我正在寻找 django 命令 inspectdb
的替代方法,或者一种在 settings.py 中正确设置 Cassandra db 设置的方法,以便 inspectdb
提供正确的输出。
提前致谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。