0
votes

In google app engine, say I have a Parent and a Child Entity:

class Parent(ndb.Model):
    pass
class Child(ndb.Model):
    parent_key = ndb.KeyProperty(indexed = True)
    ... other properties I don't need to fetch ...

I have a list of parents' keys, say parents_list, and I'm trying to answer efficiently: what parent in parents_list has a child.

Ideally, I would run this query:

children_list = Child.query().filter(Child.parent_key = parents_list).fetch(projection = 'parent_key')

It does not work because of the projection property (parent_key) being in the equality filter. So I would have to retrieve all properties, which seems inefficient.

Is there a way to efficiently solve this?