Вы можете использовать фильтр только для индексированных атрибутов. person.name
от другого лица! В sql вам нужно будет использовать join (что невозможно, когда объем данных увеличивается), в google bigtable, как и во многих других таблицах нереляционных баз данных, join
невозможно. К счастью, ваш случай очень прост, вы можете выбрать все автомобили, если вы знаете людей ключ:
>>> person = Person.all().filter('name =', 'Mr. Random').fetch(1)[0]
>>> cars = Car.all().filter('person =', person.key())
Если вы использовали более разумное значение для collection_name
Class Car(db.Model):
...
person = db.ReferenceProperty(Person, collection_name='cars_collection')
Вы можете получить доступ ко всем машинам, как это:
>>> person = Person.all().filter('name =', 'Mr. Random').fetch(1)[0]
>>> mrs_randoms_cars = person.cars_collection