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