Was ist die beste Methode für die Filterung basierend auf einem Fremdschlüssel Eigenschaft in einer nicht-relationalen Datenbank? Ich verstehe, dass das Fehlen von join
Unterstützung die Dinge komplizierter macht, und so fragte ich mich, wie andere es geschafft haben.Filter auf Fremdschlüssel Eigenschaft in Django-Nonrel
In meinem Fall habe ich Ereignisse, die zu Standorten gehören, die zu Regionen gehören. Ich möchte alle Ereignisse in einer bestimmten Region filtern. Ein Event
hat eine site
Eigenschaft, die ein Fremdschlüssel zu einem Site
ist, die wiederum einen region
Fremdschlüssel zu einem Region
hat:
region = Region.objects.get(id=regionID)
events = Event.objects.filter(site__region=region)
Das funktioniert nicht, weil site__region ein join
erfordert und das wird nicht unterstützt auf django-nonrel läuft auf Google App Engine. (Ich Caught DatabaseError while rendering: This query is not supported by the database.
als Fehler.) Ich habe also durch Veranstaltungen wurde laufen, diejenigen hinzufügen, die zu einer Liste anzeigen lassen:
events = list()
region = Region.objects.get(id=regionID)
for event in Event.object.all():
if event.site.region==region:
events.append(event)
Ist dies ein guter Weg, Dinge zu tun, zu sein? Gibt es etwas Dummes, das ich übersehen habe? Danke im Voraus!
Ist der Januar ein Verweis auf SQL-Datenbanken auf GAE? Weil sie immer "das Ende des Jahres" anführen und das Jahr scheint nie zu enden. : P – munchybunch
Oh wow, du bist der Entwickler von Django-Nonrel !? Das ist großartig, danke für deine Arbeit. Freu mich auf Januar ... – munchybunch