def put(self): new_synonym_dict = dict(self.request.POST) with transaction.manager: dbsession = DBSession() synonym = Synonym() for k, v in new_synonym_dict.items(): if v == '': v = None if hasattr(synonym, k): setattr(synonym, k, v) synonym.species_id = int(self.request.matchdict['taxon_id']) dbsession.add(synonym)