从 cassandra db 表到要在基于 Django 的应用程序中使用的 python 模型

如何解决从 cassandra db 表到要在基于 Django 的应用程序中使用的 python 模型

我正在使用 Django 和 Cassandra db 开发 Web 应用程序。 我必须使用外部 Cassandra 数据库并将这个遗留数据库集成到我的应用程序中。我的想法是对给定一些 python 模型给出相应的 Cassandra 表的操作进行逆操作。我想反转的操作可以通过以下几种方式进行:

  1. 在 Django 中,在 models.py 模块中定义模型后,运行 python manage.py sync_cassandra 将从模型中创建相应的表;从而使用 ci sondjango_cassandra_engine 提供的 API;
  2. 在 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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?