Hi ecognium, Model.get does not return BadKeyError when attempting to fetch an entity that does not exist - it returns None, as documented. BadKeyError is raised when the key itself is invalid, because it lacks a name or id, or has an invalid name. You probably want to check that you're not generating invalid keys - such as one with a name that starts with a digit.
-Nick Johnson On Wed, May 13, 2009 at 9:55 AM, ecognium <ecogn...@gmail.com> wrote: > > Hello Everyone, > It looks like Model.get(keys) raises an exception (BadKeyError) > when the key does not exist even though it is not mentioned here > http://code.google.com/appengine/docs/python/datastore/modelclass.html#Model_get. > > On the other hand, Model.get_key_by_name(names) just returns None for > the keys that do not exist. If I understand it correctly keys and > key_names are not the same - i.e., i cannot use a key value inside the > get_by_key_name() call.. so how can i get data using key without > having to worry about determining which specific key was not valid? > > I can create my own key names but I would like to use the default > uniqueness guarantee of the keys. If there is no easy way to deal with > this exception, is there an easy way to make the key_name same as the > key value provided by default? > > In case you are wondering why the keys will be invalid: I am allowing > the users to bookmark certain objects.. so i store the key names in > the user prefs data... If the object referenced gets deleted then the > key information stored inside the userprefs will be outdated and when > they query for their bookmarks, it causes an issue.. I wanted to avoid > the whole process of going through every single user who may be using > the deleted key and remove it real-time. so i thought i will just > handle it as a batch job... > > Thanks! > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---