Python 在pycassa中使用列_验证器

Python 在pycassa中使用列_验证器,python,cassandra,pycassa,Python,Cassandra,Pycassa,我试图在pycassa中设置一些column\u验证器,但在使用某种超级列设置时遇到了问题:我似乎无法为超级列中包含的列设置验证器。我在尝试类似的东西 cf.column_validators['supercolumn_name']['column_name'] = types.FloatType() cf.column_validators['supercolumn_name'] = {} 这不起作用,因为第二个字典尚未初始化,正在尝试将其设置为 cf.column_validators[

我试图在
pycassa
中设置一些
column\u验证器
,但在使用某种超级列设置时遇到了问题:我似乎无法为超级列中包含的列设置验证器。我在尝试类似的东西

cf.column_validators['supercolumn_name']['column_name'] = types.FloatType()
cf.column_validators['supercolumn_name'] = {}
这不起作用,因为第二个字典尚未初始化,正在尝试将其设置为

cf.column_validators['supercolumn_name']['column_name'] = types.FloatType()
cf.column_validators['supercolumn_name'] = {}
也不起作用。。。因此,任何关于如何处理这个问题的例子都是值得赞赏的,因为官方的pycassa文档没有显示任何关于这个问题的详细信息。 此外,这些验证器似乎不是持久性的,所以是否有可能持久地设置它们

编辑:在查看pycassa的源代码后,我发现,对于验证器,您不必指定列所包含的超级列,因此

cf.column_validators['column_name'] = types.FloatType()

你应该做这个把戏!问题仍然存在,验证程序是否可以以某种方式持久化?

您可能不想直接修改列验证程序。这些是根据列族的列元数据属性自动设置的。您可以使用pycassa中的“alter_column”命令修改Cassandra中的列族架构。然后将永久正确设置列验证程序


正确。如果希望这种情况持续存在,则需要使用“alter_column”更改实际模式。Pycassa确实允许您自己设置列_验证器,以便您可以在cassandra cli中执行类似于“假定”的操作,但它不会持久,因此其他客户端不会自动将值转换为该类型。@nickmbailey:谢谢,这就是我要找的,因为在我看过的任何教程中都没有提到它,所以对于初学者来说很难找到它,因为你不知道应该在哪个模块中使用它。。。