get_value_for_datastore() example
When using a db.ReferenceProperty in google app engine, the function get_value_for_datastore() can be used to get the key of a referenced datastore model without causing GAE to automatically fetch the model – this can be very handy if you are trying to optimise the performance of your cloud code.
1 2 3 4 5 6 7 8 9 10 | from google.appengine.ext import db class A(db.Model): b = db.ReferenceProperty(B) class B(db.Model): name = db.StringProperty() |
In the above code, A contains a reference to B, given a model of type A, b’s key can be retrieved as follows:
1 2 3 4 | a = A().get_by_id(1234354) b_key = A.b.get_value_for_datastore(a) |
This will get b’s key without fetching its model!