cqlengine Model __table_name__为None

时间:2016-03-17 03:13:33

标签: cassandra datastax datastax-enterprise cqlengine

我正在尝试新的cqlengine模型作为datastax驱动程序的一部分。 ,这里我无法从类

获取 table_name
from cassandra.cqlengine.models import Model

class User(Model):
    uid         = columns.UUID(primary_key=True,default=uuid.uuid4)
    fname       = columns.Text(primary_key=True,required=True)
    lname       = columns.Text(primary_key=True,required=True)
    user_id     = columns.Text(primary_key=True,required=True)
    email_id    = columns.Text(primary_key=True,required=True)
    password    = columns.Text(primary_key=True,required=True)
    salt        = columns.Text(required=True)

用户。 table_name 给我无。

我需要设置吗?

来自文档

模型。的表名

可选。设置此模型的CQL表的名称。如果留空,则表名称将是模型的名称,其模块名称为其前缀。手动定义的表名不会被继承。

1 个答案:

答案 0 :(得分:2)

正如mailing list所述,考虑到__table_name__也可以根据模型的名称动态计算,获取表名的方法是使用User.column_family_name(include_keypspace=False)