2

CassandraがセカンダリデータベースであるDjangoアプリケーションでcqlengineを使用しています。

場合によっては、SQL および NoSQL データベース リクエストの結果を手動で結合する必要があります。

私が使用しているSQLの場合:

model_name.objects.all().values() 

モデル インスタンス オブジェクトではなく、辞書を返します。

しかし、適切なメソッドが見つかりませんcqlengine

cqlenginePython の初心者として、この機能をライブラリ内に実装する最善の方法がわかりません。

これを提供するプログラムコードの例がいくつかありますか?

4

2 に答える 2

2

これには、cqlengine 0.12 の組み込み機能があります。これは次のとおりです: CQLEngine モデル ドキュメント

cqlengine 0.12 の時点で、モデル インスタンスを辞書のように扱うためのサポートが追加されました。例については、以下を参照してください。

class Person(Model):
first_name  = columns.Text()
last_name = columns.Text()

kevin = Person.create(first_name="Kevin", last_name="Deldycke")
dict(kevin)  # returns {'first_name': 'Kevin', 'last_name': 'Deldycke'}
kevin['first_name']  # returns 'Kevin'
kevin.keys()  # returns ['first_name', 'last_name']
kevin.values()  # returns ['Kevin', 'Deldycke']
kevin.items()  # returns [('first_name', 'Kevin'), ('last_name', 'Deldycke')]

kevin['first_name'] = 'KEVIN5000'  # changes the models first name

それで、あなたの質問に答えるには...基本的なクエリを実行してオブジェクトを取得し、それをdictに変換するだけです。

dict(your_returned_model_object)

上記で参照されているように、返されたオブジェクトに辞書としてアクセスできるようになりました。

于 2015-03-03T01:26:09.390 に答える