Cassandra/Pycassaデータベースの設計に頭を悩ませようとしています。
Mongoengineでは、次のように「ReferenceField」を使用して別のクラスを参照できます。
from mongoengine import *
class User(Document):
email = StringField(required=True)
first_name = StringField(max_length=50)
last_name = StringField(max_length=50)
class Post(Document):
title = StringField(max_length=120, required=True)
author = ReferenceField(User)
ドキュメントからわかる限り、Pycassaに相当するものは次のようなものですが、PostクラスのauthorフィールドからUserクラスへの参照を作成する方法がわかりません。
from pycassa.types import *
from pycassa.pool import ConnectionPool
from pycassa.columnfamilymap import ColumnFamilyMap
import uuid
class User(object):
key = LexicalUUIDType()
email = UTF8Type()
first_name = UTF8Type()
last_name = UTF8Type()
class Post(object):
key = LexicalUUIDType()
title = UTF8Type()
author = ???
このようなことをするための好ましい方法は何ですか?もちろん、[投稿者]フィールドにユーザーキーを入力することもできますが、Mongoengineのように、これらすべてを舞台裏で処理するより良い方法があることを望んでいます。