Thanks James for sharing the info. Set up the models with the suggested work- > arounds. Bulk upload a few thousand records. Set up a page or three > that run the most complicated queries you expect to see. Then check > your logs.
I reached the same stage 2 days back. I designed models in web2py way using the newly introduced many-to-many from trunk. The good thing about the new many-to-many is that it eliminates the need for join table. When i finished my bare-bones prototype design, I ended up in designing model's very slim & sleek. I mean I used 6-7 many-to-many's & few one-to-many's & it drastically reduced no of tables in my final design. I would say it was rather un-conventional design, which followed neither RDBMS nor GAE's flat model. I didnt have any data duplication (except for the key's) at the same time having the benifits of both worlds. But after little thought I started worrying about text-field being used for join. Although it was a very good idea, its very much in early stage & there is no benchmarks about the performance, considering the fact that text-fields are not indexed. I felt ListProperty<http://code.google.com/appengine/docs/datastore/typesandpropertyclasses.html#ListProperty>to be a much better choice. Based just on what I've seen on the GAE mailing list, I think you'll > need to make the same switch I did. I am thinking to staying more close to GAE. I know it will be pain to work at the lower level directly at GAE API without any frame work. But again, If I end up hacking both web2py & webapp, it will become equally difficult to maintain (oops this is my personal opinion). I am yet to check out other big beast Django. I have heard that it plays nice with GAE, but I am still skeptical to use it in my app as it's too heavy & learning curve will be very steep (I especially hate it, if i have to learn for months to develop a single app)when compared to web2py > [Later, after I'd trimmed down my web2py installation immensely, so I > wasn't as worried about the file count limit, I switched that to a > GaeModels folder with an __init__.py that imports all my models and > then broke each model into its own class. I'm mentioning this only > because you said you're new to python, so I'm guessing you haven't > seen this trick yet]. > Yes very much. I havent even started using modules!! I would say that I am still evauating how to extract best out of web2py & GAE. I don't think I've ever used SQLFORM. I'm perfectly fine with > building my own forms, saving my own data, and doing my own > validation. Out of my curiosity I have few questions. ReferenceProperty & <http://code.google.com/appengine/docs/datastore/typesandpropertyclasses.html#ReferenceProperty> SelfReferenceProperty<http://code.google.com/appengine/docs/datastore/typesandpropertyclasses.html#SelfReferenceProperty>arent used for defining relations. Instead IntegerProperty is used. Conventional representation on very-unconventional DB. Are you facing any problems in this. Are you defining model web2py conventinal way or with webapp api? How did you approach many-to-many relationship in your design? Are you using Expando<http://code.google.com/appengine/docs/datastore/expandoclass.html>property in your models along with web2py. I think this is a cool feature & ofcourse its unconventional again. What is the final feature set for web2py on GAE. As far as I can list, I can list the following things 1. Small codebase (one can always see the code for learning) 2. Automatic migration 3. Clean templating 4. SQLFORM ofcourse ( speeds up prototyping !!) 5. Multiple db support (may come in handy if we want to sync GAE with external db. Honestly didnt think of it b4 writing this) 6. Admin UI (yes I hacked it & hosted in a remote shared free host. So deoloyment is single click again) Anything else in feature list? . As of now I am prepared to sacrifice above for performance (pure academic intreset in this). If I could find some way of unobtrusively using GAE's features, I will certainly jump back ;) Thanks, Sudhakar.M Little Knowledge is always dangerious!! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---

