非リレーショナル データベースで外部キーのプロパティに基づいてフィルタリングするためのベスト プラクティスは何ですか? join
サポートがないことが事態を複雑にしていることは理解しています。
私の場合、地域に属するサイトに属するイベントがあります。特定の地域のすべてのイベントをフィルター処理したいと考えています。AnEvent
には、 への外部キーであるsite
プロパティがSite
あり、次に、 へのregion
外部キーがありRegion
ます。
region = Region.objects.get(id=regionID)
events = Event.objects.filter(site__region=region)
これは機能しません。site__region にはjoin
and が必要であり、Google App Engine で実行されている django-nonrel ではサポートされていないためです。(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)
これは物事を行うための良い方法ですか?私が見落としているばかげたことはありますか?前もって感謝します!