0

我正在使用 Datastax Cassandra python 驱动程序的 Object Mapper 在运行时定义 cassandra 表列(要求类似)。表和列名称以及列类型在运行时解析。

我正在尝试在运行时使用“类型”定义一个 cassandra cqlengine 模型来定义一个类。

看起来在 python 驱动程序中定义的模型类已经向模型添加了一个元类

@six.add_metaclass(ModelMetaClass)
类模型(BaseModel):
...

有没有办法使用类型定义模型?我在定义模型类时看到以下错误

from cassandra.cqlengine.models import Model
from cassandra.cqlengine import columns as Columns

attributes_dict = {
    'test_id': Columns.Text(primary_key=True)
    'test_col1': Columns.Text()
}

RunTimeModel = type ('NewModelName', tuple(Model), attributes_dict)


Error:
RunTimeModel = type ('NewModelName', tuple(Model), attributes_dict)
TypeError: 'ModelMetaClass' object is not iterable
4

1 回答 1

0

我将远离其余部分,但要回答有关错误的问题,我认为您在尝试从非序列参数构造元组时遇到了一个简单的语法错误。相反,您可以使用元组文字表示法:

RunTimeModel = type ('NewModelName', (Model,), attributes_dict)
于 2018-10-22T20:39:45.707 回答