Quelle est la meilleure pratique pour le filtrage basé sur la propriété d'une clé étrangère dans une base de données non relationnelle? Je comprends que le manque de soutien rend les choses plus compliquées, et je me demandais comment les autres se débrouillaient.filtre sur la propriété de clé étrangère dans django-nonrel
Dans mon cas, j'ai des événements, qui appartiennent à des sites, qui appartiennent à des régions. Je veux filtrer tous les événements dans une région donnée. Un Event
a une propriété site
qui est une clé étrangère à un Site
, qui à son tour a une region
clé étrangère à un Region
:
region = Region.objects.get(id=regionID)
events = Event.objects.filter(site__region=region)
Cela ne fonctionne pas, car site__region exige une join
et ce n'est pas pris en charge sur django-nonrel fonctionnant sur Google App Engine. (Je reçois Caught DatabaseError while rendering: This query is not supported by the database.
comme une erreur.) Je l'ai donc été itérer à travers des événements, en ajoutant ceux qui correspondent à une liste:
events = list()
region = Region.objects.get(id=regionID)
for event in Event.object.all():
if event.site.region==region:
events.append(event)
Est-ce une bonne façon de faire des choses? Y a-t-il quelque chose de stupide que j'ai oublié? Merci d'avance!
La partie Janvier une référence aux bases de données SQL sur GAE? Parce qu'ils citent toujours "la fin de l'année" et que l'année ne semble jamais se terminer. : P – munchybunch
Oh wow, vous êtes le développeur de django-nonrel !? C'est génial, merci pour tout votre travail. Dans l'attente de janvier ... – munchybunch