thinking about how to handle this...
On Jun 22, 12:56 pm, Carles Gonzalez <carle...@gmail.com> wrote: > My english is horrible, an maybe it wasn't clear, but that was exactly > my problem :). > > Currently i'm looking at the code massimo told me about but i think > that the problem isn't here. > > I explain: the parent is assigned when the child entity is created (at > the constructor level), to ensure all entities on the same group are > stored together (or close), that way transactions are feasible. > > I don't think i'm capable of doing that right now, but my proposed > soultion (just an idea) is to extend the field definition syntax for > reference fields, adding an atribute to indicate this tipe of > relationship. > > Example (blatantly stolen from the book): > > db.define_table('person', > Field('name')) > db.define_table('dog', > Field('name'), > Field('owner', db.person, relationship="parent")) > > On SQL databases that attribute would be ignored, but in GAE web2py > would enforce the parent relationship at creation and dog[id].parent > would return the result of dog_instance.parent() > > I don't know if this is feasible or if i'm total crazy (an option to > consider). Opinions? > > On Tue, Jun 22, 2010 at 1:42 AM, Matt <mjwat...@gmail.com> wrote: > > Any chance this could be considered as well? > > > Currently the DAL doesn't allow you to set the parent which is > > required for GAE entity groups. > > >http://groups.google.com/group/web2py/browse_thread/thread/3c11deb2bf... > > > On Jun 22, 7:35 am, Carles <carle...@gmail.com> wrote: > >> Ok, I'll try. > > >> Carles > > >> El 21/06/2010, a las 19:03, mdipierro <mdipie...@cs.depaul.edu> escribió: > > >> > The only file you need to look into is gluon/contrib/gql.py > > >> > specifically the select() function which calls filter returns the Rows > >> > object > > >> > On Jun 21, 11:55 am, Carles Gonzalez <carle...@gmail.com> wrote: > >> >> Ok, thanks! I would like to make the patch myself, but the innards of > >> >> web2py are somewhat complex... > > >> >> Thanks again, Carles. > > >> >> On Mon, Jun 21, 2010 at 6:43 PM, mdipierro <mdipie...@cs.depaul.edu> > >> >> wrote: > >> >>> Probably it would not be hard to implement. I will look into this next > >> >>> week but if somebody sends me a patch before that I will take it. > > >> >>> Massimo > > >> >>> On Jun 21, 9: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!