On Fri, 8 Sep 2006 15:46:48 +0000 "Arnar Birgisson" <[EMAIL PROTECTED]> wrote:
> On 9/8/06, Enrico Morelli <[EMAIL PROTECTED]> wrote: > > I offer you an italian pizza for another suggestion. Please, you are > > free to tell me if I disturb you. > > Thank you, I do like pizzas :) -- Don't worry, if I didn't have time > to help I wouldn't :) > > > The administrator can insert the user that he wants in the input > > fields. Now, when the admin press Save button the program receive a > > dictionary (**kw) in the form: > > {'day' : ['user','user','','','user',......], > > 'day' : ['user','user','','','user',......], > > ..} > > > > Where day is 1 to how many days has the month, and the array for > > each day contains the values for the instruments (the username if > > there is an user or an empty string) in the instrument table order. > > > > I'm in trouble to save or update the plan table with the data coming > > from the form. > > > > At the first time I'd tried: > > > > for k,v in kw.items(): > > for instr in self.instruments: > > > > newdata=self.mysession.query(PlanEntry).selectfirst(and_(self.plan.c.year==year, > > self.plan.c.month==month, self.plan.c.day==k, > > self.plan.c.instrument_id==instr.instrument_id)) > > Isn't there something missing here? I don't see any use of "v" for > example. > > If I'm understanding correctly what you want to do, something like > this: > > instruments = self.mysession.query(Instrument).select() > for day,nameslist in kw.items(): > for name, instr in zip(nameslist, instruments): > # First see if the instrument is already planned > # this leaves pe = None if it wasn't > pe = self.mysession.query(PlanEntry).get_by( > year=year, month=month, day=day, > instrument_id=instr.instrument_id) > if pe is None and name = '': > continue # nothing to do > elif pe is None: > # since name != '' - create a new entry > pe = PlanEntry() > pe.year, pe.month, pe.day = year, month, day > pe.instrument = instr > pe.data = name > self.mysession.save(pe) > elif name == None: > # Here pe is not None (existing plan) but name is '' > # so we need to remove the entry > self.mysession.delete(pe) > else: > # existing entry and name != '', update the entry > pe.data = name > > Arnar > THanks again Arnar the italian pizza is yours, your help is very very preciuos. All works fine. The only thing that doesn't like me is the performance. Now, the program use a lot of time and cpu to save new data. In your opinion, are there other possibility to do the same thing to optimize the perfomance? -- ------------------------------------------------------------------- (o_ (o_ //\ Coltivate Linux che tanto Windows si pianta da solo. (/)_ V_/_ +------------------------------------------------------------------+ | ENRICO MORELLI | email: [EMAIL PROTECTED] | | * * * * | phone: +39 055 4574269 | | University of Florence | fax : +39 055 4574253 | | CERM - via Sacconi, 6 - 50019 Sesto Fiorentino (FI) - ITALY | +------------------------------------------------------------------+ ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Sqlalchemy-users mailing list Sqlalchemy-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users