def update(self, id=None, **kw): """Save or create record to model""" #update kw log.info('kw: ' + str(kw)) log.info('kw: ' + str(kw)) log.info('kw: ' + str(kw)) log.info('kw: ' + str(kw)) log.info('kw: ' + str(kw)) try: if isinstance(kw['Bidder_groups'],list): groups = Group.select(Group.c.group_id.in_(*kw['Bidder_groups'])) else: groups = Group.select(Group.c.group_id.in_(kw['Bidder_groups'])) except: groups = [] #create if not id: kw['groups']=groups Bidder(**kw) flash("Bidder was successfully created.") raise redirect("list") #update else: record = Bidder.get_by(Bidder_id=int(id)) for attr in kw: if attr == 'password': setattr(record, attr, identity.encrypt_password(kw[attr])) else: setattr(record, attr, kw[attr]) record.groups = groups log.info("Saved update on Bidder " + record.Bidder_name + str(kw)) flash("Bidder was successfully updated.") raise redirect("../list")