query到cassandra对象Map器

q43xntqr  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(374)

我试图找出如何用对象Map器替换这两个查询,因为这是一个要求,但我无法解决这个问题。
有人能给我指出正确的方向吗?
查询粘贴在下面
我尝试过filter(),但它不起作用

rows = session.execute('SELECT gocd, serverdependencies, jenkins, nodes FROM application WHERE name=%s',{apps})

rows = session.execute('SELECT toJson(address) FROM service WHERE servicename=%s', [service])
    for row in rows:
        result.append(row)
c86crjj0

c86crjj01#

只需遵循文档即可。我刚查过最新版本的驱动程序 filter 效果很好:

from cassandra.cqlengine import columns
from cassandra.cqlengine.models import Model
from cassandra.cqlengine import connection

class Application(Model):
     name = columns.Text(primary_key=True)
     gocd = columns.List(value_type=columns.Text)
     jenkins = columns.List(value_type=columns.Text)
     serverdependencies = columns.List(value_type=columns.Text)

connection.setup(['127.0.0.1'], "test", protocol_version=3)
q = Application.objects.filter(name='test')
q[:]

其输出如下:

[Application(name='test', gocd=[u'test'], jenkins=[], serverdependencies=[])]

以下数据:

cqlsh:test> SELECT * from application ;

 name | gocd     | jenkins | nodes | serverdependencies
------+----------+---------+-------+--------------------
 test | ['test'] |    null |  null |               null

相关问题