Very interesting! I'll try tomorrow.
Thanks a lot, Dave. On Fri, Jun 25, 2010 at 1:21 AM, dlypka <dly...@gmail.com> wrote: > I've done a parent - to - many child GAE / web2py implementation using > SelfReference fields (or you can use Reference as well) using the > technique for adding native GAE fields into a web2py table definition. > > It gives fantastic retrieval performance because GAE automatically > adds the link from the child back into the parent's reference list > at the time you create each child. When you later query for the > parent, voila GAE retrieves all the child entities along with it in > one backend call! > > Hopefully this technique is relevant to your application. > > I also develop some other tricks for inheriting native GAE classes > into your web2py model, though > this is less attractive perhaps now that GAE native properties can be > directly declared in web2py tables. > > - Dave Lypka. > > On Jun 21, 10:25 am, Carles Gonzalez <carle...@gmail.com> wrote: >> Hi, >> >> I have developed some applications in web2py, and 2 are running >> currently in gae, but now i have serious problem. >> >> My current project is a social application, and when i design >> (example) the tables to make an user follow the actions other user >> (twitter like) I find that many-to-many relationships in app-engine >> are not easily supported. >> >> From my understanding using the tools present in web2py right i would >> need to do a lot of processing in memory, an that would hurt >> performance greatly. >> >> The pattern proposed by app store developers uses lists and "parent" >> relationship: >> >> class Message(db.Model): >> sender = db.StringProperty() >> body = db.TextProperty() >> >> class MessageIndex(db.Model): >> receivers = db.StringListProperty() >> >> indexes = MessageIndex.all(keys_only = True).filter('receivers = ', user_id) >> keys = [k.parent() for k in indexes) >> messages = db.get(keys) >> >> For using that pattern in web2py I would need a method for specifying >> the parent of a model instance. Can I specify that relationship using >> any method I don't know? If not, would it be hard to implement? >> >> Thanks in advance!