Say I have the following model:
class Schedule(db.Model):
tripCode = db.StringProperty(required=True)
station = db.ReferenceProperty(Station, required=True)
arrivalTime = db.TimeProperty(required=True)
departureTime = db.TimeProperty(required=True)
And let's say I have a Station object stored in the var foo
.
How do I assemble a GQL query that returns all Schedule objects with a reference to the Station object referenced by foo
?
This is my best (albeit incorrect) attempt to form such a query:
myQuery = "SELECT * FROM Schedule where station = " + str(foo.key())
Once again foo
is a Station object
An even easier thing to do is to change the model definition by adding the 'collection_name' field to the ReferenceProperty:
Then you can just do:
whenever you want to get all the stations' schedules.
You shouldn't be inserting user data into a GQL string using string substitution. GQL supports parameter substitution, so you can do this:
or, using the Query interface: