On Mon, Jun 15, 2009 at 5:04 PM, Jeff Enderwick <jeff.enderw...@gmail.com>wrote:
> > Thanks Nick. > > If I go down the path of building ID-based URLs in the manner you > suggest, will I likely have substantially shorter URLs than I would > with str(node.key())? If you know the model types involved (and thus don't need to include them in the URL), then the URL will be a _lot_ shorter. If you need to include the type names as well, it'll still be shorter, just not as much. It'll also be a lot easier to read. The str(node.key()) representation is simply the Key Protocol Buffer, base64 encoded, so it's guaranteed to be longer than parts of it, not encoded. -Nick Johnson > > Thanks, > Jeff > > On Mon, Jun 15, 2009 at 4:44 AM, Nick Johnson > (Google)<nick.john...@google.com> wrote: > > Hi Jeff, > > > > You're correct that the only way to access a datastore entity is to > provide > > the full path to it - the key is the entity's primary (and only) key. If > you > > know the entity type of each entity in the heirarchy, though, you can > > extract the id of the entity in question and all its parents, and > represent > > the ID as a delimiter-separated list of IDs, though - 1/2/3/4 - and > > regenerate the key yourself. > > > > -Nick Johnson > > > > On Sun, Jun 14, 2009 at 5:51 PM, Jeff Enderwick < > jeff.enderw...@gmail.com> > > wrote: > >> > >> I have possibly deep entity groups (think tree structure), but I want > >> a URL where the user can go to a specific node, like: > >> > >> http://viewnode/<node-id>. > >> > >> I'd like to use db.get() to directly access the node rather than query > >> based on node-id. > >> > >> If I build the URL based on str(node.key()), then the strings can get > >> very big. Key.from_path() seems to want the entire path from the > >> parent. Is it really the case that the only way to get direct access > >> to an interior node in an entity group is provide the entire path to > >> that node? > >> > >> Thanks, Jeff > >> > >> > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---