非リレーショナルデータベースの外部キーのプロパティに基づいてフィルタリングするのに最適な方法は何ですか?私は、join
のサポートの欠如が事態をより複雑にしていることを理解しています。django-nonrelの外部キープロパティのフィルタ
私の場合、地域に属するサイトに属するイベントがあります。私は、特定の地域のすべてのイベントをフィルタリングしたい。 site__regionはjoin
を必要とするため、
region = Region.objects.get(id=regionID)
events = Event.objects.filter(site__region=region)
これは動作しません、それは上のサポートされていない:Event
は、順番にRegion
からregion
外部キーを持つSite
への外部キー、あるsite
性質を持っていますdjango-nonrelはGoogle App Engine上で動作します。 (私はエラーとしてCaught DatabaseError while rendering: This query is not supported by the database.
を得ることができます。)私は、このようにリストに一致するものを追加して、イベントを反復してきた:
events = list()
region = Region.objects.get(id=regionID)
for event in Event.object.all():
if event.site.region==region:
events.append(event)
が、これは物事を行うことには良い方法ですか?私が見落としたばかげた何かがありますか?前もって感謝します!
です:あなたはすでにdbindexer使用している場合はhttp://www.allbuttonspressed.com/blog/django/joins-for-nosql-databases-via-django-dbindexer-first-steps
あなたは、単にこのような何かを使用して、インデックスを登録する必要がありますか?彼らはいつも「年末」を挙げており、その年は決して終わらないようです。 :P – munchybunch
ああ、あなたはdjango-nonrelの開発者です!それはすごく、すべてのあなたの仕事のおかげです。 1月を楽しみにしています... – munchybunch