it looks like you have a typo.... "custom_qualifer" vs "custom_qualifier"
On Monday, February 25, 2013 6:44:14 PM UTC-8, Scott Hunter wrote: > > I applied the patch, and added custom_qualifiers like so: > > Field('f_name', type='string',custom_qualifer={'indexed':False}, > label=T('Name')), > > > > and this is the error I got: > > In FILE: /base/data/home/apps/s~sbhweb2py/1.365567821359373728/ > applications/ppt_demo/models/db_wizard.py > > > Traceback (most recent call last): > File > "/base/data/home/apps/s~sbhweb2py/1.365567821359373728/gluon/restricted.py" > , line 212, in restricted > exec ccode in environment > File > "/base/data/home/apps/s~sbhweb2py/1.365567821359373728/applications/ppt_demo/models/db_wizard.py" > , line 165, in <module> > label=T('Name')), > TypeError: __init__() got an unexpected keyword argument 'custom_qualifer' > > > > > On Saturday, February 23, 2013 12:30:48 PM UTC-5, howesc wrote: >> >> Scott, >> >> this is *completely* untested, but here's a proposal: >> - use the (undocumented) field.custom_qualifier property in GAE field >> definitions >> - if you want a field to be unindexed set >> custom_qualifier={'indexed':False} >> - for "properties that don't get listed explicitly"....override those >> default properties with what you want (there are a few techniques for not >> explicitly listing fields, depending on which technique you are using the >> answer here is different. >> >> this patch against HG trunk this AM might work (i say might cause i have >> not tested it). are you willing to experiment with it and let us know? >> >> thanks, >> >> christian >> >> On Friday, February 22, 2013 3:53:33 PM UTC-8, Scott Hunter wrote: >>> >>> If I had to guess, I'd say a patch is needed in the loop over the fields >>> in create_table, that would add a new entry to the dict for the field >>> definition based on a new attribute (which would be ignored for anything >>> other than Google's Datastore) which gets added to sql_fields; then >>> migrate_table, which seems to build the table building/altering commands >>> would need to be made to recognize the new entry & add the disable index >>> command. There's not a lot of comments in the code, and I'd be afraid to >>> break something, but might give it a try. >>> >>> - Scott >>> >>> P.S. Not sure of the best way to handle this (what's describe above >>> wouldn't handle it), but it would be nice to be able to turn off the >>> indexes for the fields that don't get listed explicitly in models.db >>> (things like created by & when, modified by & when). >>> >>> On Friday, February 22, 2013 6:14:28 PM UTC-5, howesc wrote: >>>> >>>> thanks for the link. i'll try and take a look this weekend and see if >>>> there is a place for that in the DAL (feel free to open gluon/dal.py >>>> yourself too). >>>> >>>> yup, i'm paying more for writes right now then i am for instance hours >>>> per day on my largest paid application. :) >>>> >>>> cfh >>>> >>>> On Thursday, February 21, 2013 5:59:06 PM UTC-8, Scott Hunter wrote: >>>>> >>>>> According to >>>>> https://developers.google.com/appengine/docs/python/datastore/indexes#Unindexed_Properties, >>>>> >>>>> "You declare a property unindexed by setting indexed=False in the >>>>> property >>>>> constructor". >>>>> >>>>> One incurs the cost of a write (or 2?) for every property of a record >>>>> that gets written; so, for a table with about 25 fields (once you include >>>>> all of the ones web2py adds), inserting 300 records incurs the cost of >>>>> 14K+ >>>>> writes; as the free account has a limit of 50K writes per day, that is >>>>> rather limiting. It is easy to turn such indicies back on, but you have >>>>> to >>>>> re-write every record in order to repopulate them. >>>>> >>>>> - Scott >>>>> >>>>> On Thursday, February 21, 2013 4:51:59 PM UTC-5, howesc wrote: >>>>>> >>>>>> i'm being lazy here....do you have the instructions (or link to >>>>>> instructions) from GAE for disabling indexes? i don't have it handy >>>>>> right >>>>>> now.... >>>>>> >>>>>> we can check if the DAL has a secret way to handle it, and/or create >>>>>> a patch to allow it. >>>>>> >>>>>> may i ask what advantage you are hoping to achieve by skipping those >>>>>> indexes? i've left them on for fear of making a bad choice that i can't >>>>>> revert. >>>>>> >>>>>> christian >>>>>> >>>>>> On Thursday, February 21, 2013 5:56:07 AM UTC-8, Scott Hunter wrote: >>>>>>> >>>>>>> As I understand it, the GAE datastore will automatically create an >>>>>>> index for every field of every table (to facilitate queries using >>>>>>> single >>>>>>> fields); those requiring multiple fields also get generated, but will >>>>>>> get >>>>>>> added to index.yaml by the SDK when tested locally. Since these are >>>>>>> created outside of the DAL, I wouldn't expect to be able to remove them >>>>>>> using it. I also understand that there is a way, with the GAE SDK, to >>>>>>> disable the index for any given field (by a parameter in the field >>>>>>> definition); is there any way to accomplish this through the DAL, and >>>>>>> if >>>>>>> so, what is it? >>>>>> >>>>>> -- --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.