如何使用ORM方法在Cassandra Python绑定中查询现有的keyspace表?

enxuqcxy  于 2023-03-02  发布在  Cassandra
关注(0)|答案(1)|浏览(201)

我尝试在python中使用ORM和cassandra。
我看过示例代码here,它告诉我们如何创建CQL表。如果我在AWS Keyspace中有很多表已经有了模型,我如何在python中围绕这些表创建一个对象模型来进行查询?
例如,假设我有一个可以使用原始CQL语句查询的键空间my_keyspace.user_transactions,我如何利用cqlengine中的ORM方法来查询这个表?

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

class MyTableOnKeyspace(Model):
    # How can I access my table for ORM querying?
yxyvkwin

yxyvkwin1#

如果你想在Python中围绕现有的Cassandra表创建一个对象模型,你可以定义一个类来扩展cqlengine.models.Model类,并使用cqlengine.columns模块指定列名和类型,然后你就可以使用该类的objects属性来创建一个ORM查询对象,用于查询表。
这里的方法,我会采取,应该能够解决你的问题!

    • 代码:**
from cassandra.cqlengine import columns
from cassandra.cqlengine.models import Model

class UserTransaction(Model):
    user_id = columns.UUID(primary_key=True)
    timestamp = columns.DateTime(primary_key=True)
    transaction_type = columns.Text()
    amount = columns.Double()

# You can use the UserTransaction class to query the user_transactions table
query = UserTransaction.objects.filter(user_id=uuid.UUID('11111111-1111-1111-1111-111111111111'))
transactions = query.limit(10).allow_filtering().all()

现在我们可以使用UserTransaction. objects属性创建一个ORM查询对象,该对象可用于查询user_transactions表。

相关问题