Reputation: 15
I've been struggling with this for hours and tried everything!
So basically
I have a class called City:
class City(ndb.Model):
_parent = None
city = ndb.StringProperty(required=True)
created = ndb.DateTimeProperty(auto_now_add=True)
When i make a new city, it is given an automatic ID, such as 6438740092256256
Later on i want to add a Restaurant entity to this city as a child. So I have passed the city ID in the url, like this:
http://www.edkjfsk.com/addrestaurant/6438740092256256
which leads to this bit of code
class PostRestaurant(webapp2.RequestHandler):
def post(self, resource):
key = ????
where resource is 6438740092256256
What i want to do is to be able to retrieve the key using the 6438740092256256 from the url. However every single approach i have tried results in an unknown error.
Ive tried everything, including key = :
City.get_by_id(int(resource))
ndb.Key(City, resource).get()
ndb.Key('City', int(resource))
etc.
Upvotes: 1
Views: 83
Reputation: 3135
You are getting urlsafe string here.
this_key = ndb.Key(urlsafe=resource)
query_result_as_entity = this_key.get()
After converting urlsafe string to key, you can just do get() on it.
Upvotes: 1