Thanks!
On Thu, Jun 24, 2010 at 2:27 PM, mdipierro <mdipie...@cs.depaul.edu> wrote: > 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!