비 관계형 데이터베이스에서 외래 키의 속성을 기반으로 필터링하는 것이 가장 좋은 방법은 무엇입니까? join
지원이 부족하다는 점이 상황을 더욱 복잡하게 만든다는 것을 이해하며 다른 사람들이 어떻게 접근했는지 궁금합니다.django-nonrel의 foreign key 속성에 대한 필터
필자의 경우 지역에 속한 사이트에 속한 이벤트가 있습니다. 주어진 지역의 모든 이벤트를 필터링하고 싶습니다. 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에서 실행됩니다. (I 오류로 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
오우 와우, 당신은 장고연의 개발자 야!? 정말 대단합니다. 모든 작업에 감사드립니다. 1 월을 고대하고 있습니다 ... – munchybunch