0

我正在使用 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。

python manage.py inspectdb --database=cassandra在模块 setting.py 中指定了 Cassandra db 的连接参数设置后尝试使用这里指定。虽然在我的情况下这个命令的输出是:

# 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 db 中有我可以使用可视化的表cqlsh>DESCRIBE keyspace_name,所以我假设 django_cassandra_engine 无法正确“看到”我的旧 Cassandra db。

因此,我正在寻找 django 命令的替代方法inspectdb或在 settings.py 中正确设置 Cassandra db 设置的方法,以便inspectdb提供正确的输出。

提前致谢!

4

0 回答 0